diff --git a/a1/program.c b/a1/program.c index 1222bae..4240db7 100644 --- a/a1/program.c +++ b/a1/program.c @@ -21,27 +21,22 @@ int main(){ break; } } - Dnes_Datum[id]='\0'; + Dnes_Datum[id+1]='\0'; char *start=Dnes_Datum, *end=NULL; time_t t=time(NULL); - - for(int i=0;i='0'&&Dnes_Datum[i]<='9')||Dnes_Datum[i]==' '||Dnes_Datum[i]=='\n'); - else { - printf("Neplatny datum.\n"); - while(Dnes_Datum[i]!='\n'){ - i++; - } - i++; - counter--; - start+=i; - } - } - - for(int idx=0;idx='A')Sym +=32; else if(Sym<='z'&&Sym>='a')Sym-=32; - //counter++; OutSym=Sym; putchar(OutSym); } printf("\nPočet riadkov: %d\n",counter); return 0; -} \ No newline at end of file +} diff --git a/du2/program.c b/du2/program.c index 85e879a..f89e850 100644 --- a/du2/program.c +++ b/du2/program.c @@ -5,14 +5,14 @@ int main(){ - int value = 0; - int count = 0; + int value = 0; // це скыльки випила одна людина + int count = 0; // скыльки людий приймало участь int pole[VELKOST_POLA]; - memset(pole,0,VELKOST_POLA*(sizeof(int))); + memset(pole,0,VELKOST_POLA*(sizeof(int))); // вын даэ 3 парам. адрес куда . знак чим ми заповняэмо. розмыр поля в байтах. int max_hodnota=0; - int idx=0; + int idx=0; // номер учасника while (1){ int r=scanf("%d",&value); if(r!=1 || idx==VELKOST_POLA || value < 0){ @@ -20,7 +20,7 @@ int main(){ } pole[idx]=value; if (pole[idx] > max_hodnota){ - max_hodnota = pole[idx]; + max_hodnota = pole[idx]; // Найбыльше число (Рекорд) } idx++; count++; diff --git a/du3/program.c b/du3/program.c index 67fb1d1..ebdb647 100644 --- a/du3/program.c +++ b/du3/program.c @@ -5,30 +5,30 @@ #define SIZE 120 int main(){ char pol[SIZE]; - memset(pol,'\0',SIZE); + memset(pol,'\0',SIZE*sizeof(char));//заповняэ масив ПОЛ знаком \0 int ch=0; for(int idx=0;1;idx++ ){ ch=getchar(); if(ch==EOF||ch==' ')break; pol[idx]=ch; - } - for(int i=0, p=0;i='0')||(pol[i]=='.')||(pol[i]==EOF)||(pol[i]==' ')); else if(p==0){ - printf("Nepodarilo sa nacitat zaklad x\n"); + printf("Nepodarilo sa nacitat zaklad x\n");//виводить помилку якщо в нас немаэ першого числа return 0; } else { - printf("Nepodarilo sa nacitat polynom na %d mieste.\n", p); + printf("Nepodarilo sa nacitat polynom na %d mieste.\n", p);//виводить якщо знайде символ який не э цифрою ы не э особливим знаком return 0; } } int koef=-1; for(int i=0;i #include #include -#include #include - int main(){ - char Dnes_Datum[30]; - int ch=getchar(),counter=0; - for(int idx=0;ch!=EOF;idx++){ - if(ch=='.'){ - ch=' '; - } - Dnes_Datum[idx]=ch; - if(ch=='\n'){ - counter++; - } + int ch=getchar(); + char priklad[300]; + int count=0; + + for(int idx=0;1;idx++){ + priklad[idx]=ch; + if(ch=='\n'){ + count++; + } ch=getchar(); - if(Dnes_Datum[idx]=='\n'&&ch=='\n'){ - break; - } + if((priklad[idx]=='\n'&&ch=='\n')||ch==EOF){ // якщо вын знаходить 2 ентера або ЕОФ то воно закынчуэ считуват з рядка + break; + } } - char *start=Dnes_Datum, *end=NULL; - time_t t=time(NULL); +char *start=priklad, *end=NULL; - for(int idx=0;idxtm_mday=strtol(start,&end,10); - start=end; - D_D->tm_mon=strtol(start,&end,10)-1; - start=end; - D_D->tm_year=strtol(start,&end,10)-1900; - start=end+1; - time_t nex_week=mktime(D_D)+604800; - - NW_D=localtime(&nex_week); - - printf("%d.%d.%d\n\n",NW_D->tm_mday, NW_D->tm_mon+1,NW_D->tm_year+1900); + for(int idx=0;start[idx]!='\n';idx++){ + + if(start[idx]=='+'||start[idx]=='-'||start[idx]=='*'||start[idx]=='/'){ + z=1; + } + if((start[idx]<'0'||start[idx]>'9')&&start[idx]!=' '&&start[idx]!='='&&start[idx]!='+'&&start[idx]!='-'&&start[idx]!='*'&&start[idx]!='/'&&start[idx]!='.'){ + skip=1; + printf("CHYBA\n"); + while((*start)!='\n')start++; //це все перевыряэ на дыйснысть того що я ввыв + start++; + break; + } } - return EXIT_SUCCESS; + if(skip==1){ + continue; + } + if(z==0){ + while((*start)!='\n')start++; + start++; + printf("CHYBA\n"); + continue; + } + float num1=strtof(start,&end); + if(end==start){ + printf("KONIEC\n"); + } + while((*start)!='+'&&(*start)!='-'&&(*start)!='/'&&(*start)!='*'){ + start++; + } + char znak=(*start); //операцыю яку ми проводимо чи це мынус чи це плюс ы тд + start++; + + float num2=strtof(start,&end); + start=end; + while(((*start)<'0'||(*start)>'9')&&(*start)!='-'){ + start++; + } + + float vysledok2=strtof(start,&end); + start=end; + start++; + //printf("%f\n",vysledok2); + float vysledok=0; + + /*if(num2==0&&znak=='/'){ + printf("CHYBA\n"); + }*/ + if(znak=='-'){ + vysledok=num1-num2; + } + else if(znak=='+'){ + vysledok=num1+num2; + } + else if(znak=='*'){ + vysledok=num1*num2; + } + else if(znak=='/'){ + vysledok=num1/num2; + } + vysledok=(round(vysledok*100))/100;//заукруглюэ + if (vysledok2-vysledok < 0.001 && vysledok2-vysledok > -0.001){ // + printf("OK\n"); + } + else{ + printf("ZLE\n"); + } +} + // printf("%.3f\n", vysledok); + + return EXIT_SUCCESS; }