#include #include #include #include int main(){ char riadok[999][999]; int i = 0; int a = 0; int n = 0; bool first; while (1){ a = 0; while (1){ riadok[i][a] = getchar(); if (riadok[i][a] == '\n'){ first = true; n++; break; } a++; } if (first == true && riadok[i][0] == '\n'){ break; } i++; } 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 r = 0; r < n - 1; r++){ i = 1; 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[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 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 r = 0; r < n - 1; r++){ for (int b = 0; b < strlen(riadok[r]); b++){ if (riadok[r][b] == '0' && riadok[r][b - 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 riadok_pervyi[999]; i = 0; 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[r][b] != '\0'){ riadok_pervyi[i] = riadok[r][b]; i++; } } } 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 = riadok_pervyi; int cisla[c]; i = 0; while (start < (riadok_pervyi + len)){ cisla[i] = strtol(start, &endptr, 10); if (cisla[i]){ start = endptr + 1; } else { break; } i++; } 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 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 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[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1]++; } } 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[r] > 21){ cisla[r] = cisla[r] + 7 - 28; cisla[r + 1]++; } } 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[r] > 22){ cisla[r] = cisla[r] + 7 - 29; cisla[r + 1]++; } } else if (cisla[r + 1] == 3 && cisla[r] > 0 && cisla[r] <= 31){ if (cisla[r] <= 24){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1]++; } } else if (cisla[r + 1] == 4 && cisla[r] > 0 && cisla[r] <= 30){ if (cisla[r] <= 23){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 23){ cisla[r] = cisla[r] + 7 - 30; cisla[r + 1]++; } } else if (cisla[r + 1] == 5 && cisla[r] > 0 && cisla[r] <= 31){ if (cisla[r] <= 24){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1]++; } } else if (cisla[r + 1] == 6 && cisla[r] > 0 && cisla[r] <= 30){ if (cisla[r] <= 23){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 23){ cisla[r] = cisla[r] + 7 - 30; cisla[r + 1]++; } } else if (cisla[r + 1] == 7 && cisla[r] > 0 && cisla[r] <= 31){ if (cisla[r] <= 24){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1]++; } } else if (cisla[r + 1] == 8 && cisla[r] > 0 && cisla[r] <= 31){ if (cisla[r] <= 24){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1]++; } } else if (cisla[r + 1] == 9 && cisla[r] > 0 && cisla[r] <= 30){ if (cisla[r] <= 23){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 23){ cisla[r] = cisla[r] + 7 - 30; cisla[r + 1]++; } } else if (cisla[r + 1] == 10 && cisla[r] > 0 && cisla[r] <= 31){ if (cisla[r] <= 24){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1]++; } } else if (cisla[r + 1] == 11 && cisla[r] > 0 && cisla[r] <= 30){ if (cisla[r] <= 23){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 23){ cisla[r] = cisla[r] + 7 - 30; cisla[r + 1]++; } } else if (cisla[r + 1] == 12 && cisla[r] > 0 && cisla[r] <= 31){ if (cisla[r] <= 24){ cisla[r] = cisla[r] + 7; } else if (cisla[r] > 24){ cisla[r] = cisla[r] + 7 - 31; cisla[r + 1] = 1; cisla[r + 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[r] == 0 && cisla[r + 1] == 0 && cisla[r + 2] == 0){ puts("Neplatny datum."); } } }