Update 'a1/program.c'

This commit is contained in:
Anzhelika Nikolaieva 2023-03-24 22:22:55 +00:00
parent c13afed07d
commit c8249ef781

View File

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