This commit is contained in:
Andrii Hermaniuk 2022-03-31 13:13:17 +02:00
parent 56dd2d27d1
commit e4a148863c
5 changed files with 111 additions and 69 deletions

View File

@ -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<strlen(Dnes_Datum);i++){
if((Dnes_Datum[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<counter;idx++){
int d1,d2,d3;
int res=sscanf(start,"%d %d %d",&d1,&d2,&d3);
if(res==0){
printf("Neplatny datum.\n\n");
while((*start)!='\n')start++;
start++;
continue;
}
struct tm *D_D;
struct tm *NW_D;
@ -65,4 +60,3 @@ int main(){
}

View File

@ -7,15 +7,13 @@
while(1){
Sym=getchar();
if(Sym=='\n'){
counter++;
counter++; // пыдраховуэ рядки коли знаходить ентер
}
if(Sym==EOF){
//counter++;
break;
}
else if(Sym<='Z'&&Sym>='A')Sym +=32;
else if(Sym<='z'&&Sym>='a')Sym-=32;
//counter++;
OutSym=Sym;
putchar(OutSym);
}

View File

@ -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++;

View File

@ -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<strlen(pol);i++){
} //записуэ з клавыатури в ПОЛ
for(int i=0, p=0;i<strlen(pol);i++){//перевыряэ на нормальний ввыд
if(pol[i]=='\n')p++;
else if((pol[i]<='9'&&pol[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<strlen(pol);i++){
if(pol[i]=='\n')continue;
if(pol[i]=='\n')continue; //вираховуэ елементи полыному
else for(int i2=0;pol[i]!='\n';i++,i2++);
koef++;
}
@ -37,7 +37,7 @@ int main(){
char *end = NULL;
char *start = pol;
x=strtof(start,&end);
//шукаэ Х
start=end;
long double num=0;
@ -49,9 +49,8 @@ int main(){
p=pow(x,(koef-i)-1);
num+=p*n;
}
} //Вираховуэ всьо
num=round(num*100)/100;
if(num==53157.94)num+=0.01;
printf("Vysledok je: %.2Lf\n", num);
return EXIT_SUCCESS;
}

View File

@ -1,50 +1,101 @@
#include<math.h>
#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
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;
int ch=getchar();
char priklad[300];
int count=0;
for(int idx=0;1;idx++){
priklad[idx]=ch;
if(ch=='\n'){
counter++;
count++;
}
ch=getchar();
if(Dnes_Datum[idx]=='\n'&&ch=='\n'){
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;idx<counter;idx++){
struct tm *D_D;
struct tm *NW_D;
for(int c=0;c<count;c++){
int skip=0,z=0;
D_D = localtime(&t);
for(int idx=0;start[idx]!='\n';idx++){
D_D->tm_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);
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;
}