diff --git a/a1/program.c b/a1/program.c index 63159bc..2b21e8d 100644 --- a/a1/program.c +++ b/a1/program.c @@ -2,144 +2,130 @@ #include #include #include -int main() -{ + +int main(){ char riadok[999][999]; int i = 0; - int o = 0; - int need = 0; + int a = 0; + int n = 0; bool first; - while (1) - { - o = 0; - while (1) - { + + while (1){ + a = 0; + + while (1){ + riadok[i][a] = getchar(); - riadok[i][o] = getchar(); - - if (riadok[i][o] == '\n') - { + if (riadok[i][a] == '\n'){ first = true; - need++; + n++; break; } - o++; + a++; } - if (first == true && riadok[i][0] == '\n') - { + + if (first == true && riadok[i][0] == '\n'){ break; } i++; } - for (int j = 0; j < need - 1; j++) - { - for (int g = 0; g < strlen(riadok[j]); g++) - { - if (riadok[j][g] != '.' && riadok[j][g] != '1' && riadok[j][g] != '2' && riadok[j][g] != '3' && riadok[j][g] != '4' && riadok[j][g] != '5' && riadok[j][g] != '6' && riadok[j][g] != '7' && riadok[j][g] != '8' && riadok[j][g] != '9' && riadok[j][g] != '0' && riadok[j][g] != '\n' && riadok[j][g] != '\0') - { - riadok[j][0] = '9'; - riadok[j][1] = '.'; - riadok[j][2] = '9'; - riadok[j][3] = '.'; - riadok[j][4] = '9'; - riadok[j][5] = '.'; - riadok[j][6] = '\0'; + + for (int r = 0; r < n - 1; r++){ + for (int b = 0; b < strlen(riadok[b]); b++){ + if (riadok[r][b] != '.' && riadok[r][b] != '1' && riadok[r][b] != '2' && riadok[r][b] != '3' && riadok[r][b] != '4' && riadok[r][b] != '5' && riadok[r][b] != '6' && riadok[r][b] != '7' && riadok[r][b] != '8' && riadok[r][b] != '9' && riadok[r][b] != '0' && riadok[r][b] != '\n' && riadok[r][b] != '\0'){ + riadok[r][0] = '9'; + riadok[r][1] = '.'; + riadok[r][2] = '9'; + riadok[r][3] = '.'; + riadok[r][4] = '9'; + riadok[r][5] = '.'; + riadok[r][6] = '\0'; break; } } } + i = 0; - for (int j = 0; j < need - 1; j++) - { + + for (int r = 0; r < n - 1; r++){ i = 1; - for (int g = 0; g < strlen(riadok[j]); g++) - { - if ((riadok[j][g] == '1' || riadok[j][g] == '2' || riadok[j][g] == '3' || riadok[j][g] == '4' || riadok[j][g] == '5' || riadok[j][g] == '6' || riadok[j][g] == '7' || riadok[j][g] == '8' || riadok[j][g] == '9' || riadok[j][g] == '0' || riadok[j][g] == '\0')) - { + for (int b = 0; b < strlen(riadok[r]); b++){ + if ((riadok[r][b] == '1' || riadok[r][b] == '2' || riadok[r][b] == '3' || riadok[r][b] == '4' || riadok[r][b] == '5' || riadok[r][b] == '6' || riadok[r][b] == '7' || riadok[r][b] == '8' || riadok[r][b] == '9' || riadok[r][b] == '0' || riadok[r][b] == '\0')){ i++; - if (strlen(riadok[j]) == i) - { - riadok[j][0] = '9'; - riadok[j][1] = '.'; - riadok[j][2] = '9'; - riadok[j][3] = '.'; - riadok[j][4] = '9'; - riadok[j][5] = '.'; - riadok[j][6] = '\0'; + + if (strlen(riadok[r]) == i){ + riadok[r][0] = '9'; + riadok[r][1] = '.'; + riadok[r][2] = '9'; + riadok[r][3] = '.'; + riadok[r][4] = '9'; + riadok[r][5] = '.'; + riadok[r][6] = '\0'; break; } } } } - for (int j = 0; j < need - 1; j++) - { - if (riadok[j][0] == '0') - { - riadok[j][0] = '9'; - riadok[j][1] = '.'; - riadok[j][2] = '9'; - riadok[j][3] = '.'; - riadok[j][4] = '9'; - riadok[j][5] = '.'; - riadok[j][6] = '\0'; + for (int r = 0; r < n - 1; r++){ + if (riadok[r][0] == '0'){ + riadok[r][0] = '9'; + riadok[r][1] = '.'; + riadok[r][2] = '9'; + riadok[r][3] = '.'; + riadok[r][4] = '9'; + riadok[r][5] = '.'; + riadok[r][6] = '\0'; } } - for (int j = 0; j < need - 1; j++) - { - for (int g = 0; g < strlen(riadok[j]); g++) - { - if (riadok[j][g] == '0' && riadok[j][g - 1] == '.') - { - riadok[j][0] = '9'; - riadok[j][1] = '.'; - riadok[j][2] = '9'; - riadok[j][3] = '.'; - riadok[j][4] = '9'; - riadok[j][5] = '.'; - riadok[j][6] = '\0'; + for (int r = 0; r < n - 1; r++){ + for (int b = 0; b < strlen(riadok[r]); b++){ + if (riadok[j][g] == '0' && riadok[j][g - 1] == '.'){ + riadok[r][0] = '9'; + riadok[r][1] = '.'; + riadok[r][2] = '9'; + riadok[r][3] = '.'; + riadok[r][4] = '9'; + riadok[r][5] = '.'; + riadok[r][6] = '\0'; } } } - char riadok1[999]; + char riadok_pervyi[999]; i = 0; - for (int j = 0; j < need - 1; j++) - { - for (int g = 0; g < strlen(riadok[j]); g++) - { - if (riadok[j][g] == '\n') - { - riadok[j][g] = '.'; + + for (int r = 0; r < n - 1; r++){ + for (int b = 0; b < strlen(riadok[r]); b++){ + if (riadok[r][b] == '\n'){ + riadok[r][b] = '.'; } - if (riadok[j][g] != '\0') - { - riadok1[i] = riadok[j][g]; + if (riadok[r][b] != '\0'){ + riadok_pervyi[i] = riadok[r][b]; i++; } } } - riadok1[i] = '\0'; - int len = strlen(riadok1); - int s = 0; - for (int j = 0; j < len; j++) - { - if (riadok1[j] == '.') - { - s++; + + riadok_pervyi[i] = '\0'; + int len = strlen(riadok_pervyi); + int c = 0; + for (int r = 0; j < len; r++){ + if (riadok_pervyi[r] == '.'){ + c++; } } + char *endptr = NULL; - char *start = riadok1; - int cisla[s]; + char *start = riadok_pervyi; + int cisla[c]; i = 0; - while (start < (riadok1 + len)) - { + + while (start < (riadok_pervyi + len)){ cisla[i] = strtol(start, &endptr, 10); - if (cisla[i]) - { + if (cisla[i]){ start = endptr + 1; } else @@ -149,196 +135,177 @@ int main() i++; } - need = 0; - for (int j = 0; j < s; j = j + 3) - { - if (cisla[j + 1] > 12 || cisla[j + 1] < 0 || cisla[j] < 1 || cisla[j] > 31 || cisla[j + 2] < 1900 || cisla[j + 2] > 2100) - { - cisla[j] = 0; - cisla[j + 1] = 0; - cisla[j + 2] = 0; - need++; + n = 0; + for (int r = 0; r < c; j = r + 3){ + if (cisla[r + 1] > 12 || cisla[r + 1] < 0 || cisla[r] < 1 || cisla[r] > 31 || cisla[r + 2] < 1900 || cisla[r + 2] > 2100){ + cisla[r] = 0; + cisla[r + 1] = 0; + cisla[r + 2] = 0; + n++; } } - for (int j = 0; j < s; j = j + 3) - { - if (cisla[j + 1] == 2 && cisla[j] == 29 && cisla[j + 2] % 4 != 0) - { - cisla[j] = 0; - cisla[j + 1] = 0; - cisla[j + 2] = 0; - need++; + for (int r = 0; r < c; r = r + 3){ + if (cisla[r + 1] == 2 && cisla[r] == 29 && cisla[r + 2] % 4 != 0){ + cisla[r] = 0; + cisla[r + 1] = 0; + cisla[r + 2] = 0; + n++; } } - for (int j = 0; j < s; j = j + 3) - { - if (cisla[j + 1] == 1 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + for (int r = 0; r < c; r = r + 3){ + if (cisla[r + 1] == 1 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1]++; + + else if (cisla[r] > 24){ + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 2 && cisla[j] > 0 && cisla[j] <= 28 && cisla[j + 2] % 4 != 0) - { - if (cisla[j] <= 21) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 2 && cisla[r] > 0 && cisla[r] <= 28 && cisla[r + 2] % 4 != 0){ + if (cisla[r] <= 21){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 21) - { - cisla[j] = cisla[j] + 7 - 28; - cisla[j + 1]++; + + else if (cisla[r] > 21){ + cisla[r] = cisla[r] + 7 - 28; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 2 && cisla[j] > 0 && cisla[j] <= 29 && cisla[j + 2] % 4 == 0) - { - if (cisla[j] <= 22) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 2 && cisla[r] > 0 && cisla[r] <= 29 && cisla[r + 2] % 4 == 0){ + if (cisla[r] <= 22){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 22) - { - cisla[j] = cisla[j] + 7 - 29; - cisla[j + 1]++; + + else if (cisla[r] > 22){ + cisla[r] = cisla[r] + 7 - 29; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 3 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 3 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1]++; + + else if (cisla[r] > 24){ + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 4 && cisla[j] > 0 && cisla[j] <= 30) - { - if (cisla[j] <= 23) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 4 && cisla[r] > 0 && cisla[r] <= 30){ + if (cisla[r] <= 23){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 23) - { - cisla[j] = cisla[j] + 7 - 30; - cisla[j + 1]++; + + else if (cisla[r] > 23){ + cisla[r] = cisla[r] + 7 - 30; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 5 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 5 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1]++; + + else if (cisla[r] > 24){ + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 6 && cisla[j] > 0 && cisla[j] <= 30) - { - if (cisla[j] <= 23) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 6 && cisla[r] > 0 && cisla[r] <= 30){ + if (cisla[r] <= 23){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 23) - { - cisla[j] = cisla[j] + 7 - 30; - cisla[j + 1]++; + + else if (cisla[r] > 23){ + cisla[r] = cisla[r] + 7 - 30; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 7 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 7 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { + + else if (cisla[r] > 24){ - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1]++; + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 8 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 8 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1]++; + + else if (cisla[r] > 24){ + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 9 && cisla[j] > 0 && cisla[j] <= 30) - { - if (cisla[j] <= 23) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 9 && cisla[r] > 0 && cisla[r] <= 30){ + if (cisla[r] <= 23){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 23) - { - cisla[j] = cisla[j] + 7 - 30; - cisla[j + 1]++; + + else if (cisla[r] > 23){ + cisla[r] = cisla[r] + 7 - 30; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 10 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 10 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1]++; + + else if (cisla[r] > 24){ + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 11 && cisla[j] > 0 && cisla[j] <= 30) - { - if (cisla[j] <= 23) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 11 && cisla[r] > 0 && cisla[r] <= 30){ + if (cisla[r] <= 23){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 23) - { - cisla[j] = cisla[j] + 7 - 30; - cisla[j + 1]++; + + else if (cisla[r] > 23){ + cisla[r] = cisla[r] + 7 - 30; + cisla[r + 1]++; } } - else if (cisla[j + 1] == 12 && cisla[j] > 0 && cisla[j] <= 31) - { - if (cisla[j] <= 24) - { - cisla[j] = cisla[j] + 7; + + else if (cisla[r + 1] == 12 && cisla[r] > 0 && cisla[r] <= 31){ + if (cisla[r] <= 24){ + cisla[r] = cisla[r] + 7; } - else if (cisla[j] > 24) - { - cisla[j] = cisla[j] + 7 - 31; - cisla[j + 1] = 1; - cisla[j + 2]++; + + else if (cisla[r] > 24){ + cisla[r] = cisla[r] + 7 - 31; + cisla[r + 1] = 1; + cisla[r + 2]++; } } - if (cisla[j] != 0 && cisla[j + 1] != 0 && cisla[j + 2] != 0) - { - printf("%d.%d.%d\n\n", cisla[j], cisla[j + 1], cisla[j + 2]); + + if (cisla[r] != 0 && cisla[r + 1] != 0 && cisla[r + 2] != 0){ + printf("%d.%d.%d\n\n", cisla[r], cisla[r + 1], cisla[r + 2]); } - else if (cisla[j] == 0 && cisla[j + 1] == 0 && cisla[j + 2] == 0) - { + + else if (cisla[r] == 0 && cisla[r + 1] == 0 && cisla[r + 2] == 0){ puts("Neplatny datum."); } }