Aktualizovat "program.c

This commit is contained in:
Daniel Béreš 2019-11-10 15:54:25 +00:00
parent e8eb0ca6e7
commit 242f17c83a

View File

@ -2,9 +2,10 @@
#include <stdlib.h> #include <stdlib.h>
#include <ctype.h> #include <ctype.h>
#include <string.h> #include <string.h>
long long int nsd(long long int,long long int); #include <limits.h>
unsigned long long int nsd(long long int,long long int);
long long int nsd(long long int cislo1,long long int cislo2){ unsigned long long int nsd(long long int cislo1,long long int cislo2){
/*while (cislo1 != cislo2){ /*while (cislo1 != cislo2){
if (cislo1 > cislo2){ if (cislo1 > cislo2){
cislo1 -= cislo2; cislo1 -= cislo2;
@ -22,8 +23,8 @@ int main() {
//freopen("vstup.txt","r",stdin); //freopen("vstup.txt","r",stdin);
char* prvy_vstup = malloc(100* sizeof(char)); char* prvy_vstup = malloc(100* sizeof(char));
char* druhy_vstup = malloc(100* sizeof(char)); char* druhy_vstup = malloc(100* sizeof(char));
long long int prve_cislo; unsigned long long int prve_cislo;
long long int druhe_cislo; unsigned long long int druhe_cislo;
if (fgets(prvy_vstup,100,stdin)){ if (fgets(prvy_vstup,100,stdin)){
strtok(prvy_vstup,"\n"); strtok(prvy_vstup,"\n");
@ -31,7 +32,7 @@ int main() {
printf("%s je neplatny zapis.\n",prvy_vstup); printf("%s je neplatny zapis.\n",prvy_vstup);
goto koniec; goto koniec;
} else{ } else{
printf("Nacitane %llu\n",prve_cislo = strtoll(prvy_vstup,NULL,0)); printf("Nacitane %llu\n",prve_cislo = strtoull(prvy_vstup,NULL,0));
} }
} }
@ -46,9 +47,20 @@ int main() {
printf("%s je neplatny zapis.\n",druhy_vstup); printf("%s je neplatny zapis.\n",druhy_vstup);
goto koniec; goto koniec;
} else{ } else{
long long int vysledok = nsd(prve_cislo,druhe_cislo = strtoll(druhy_vstup,NULL,0)); if (druhe_cislo = strtoull(druhy_vstup,NULL,0) == ULLONG_MAX){
printf("%s je mimo rozsahu.",druhy_vstup);
goto koniec;
}
else if (prve_cislo == ULLONG_MAX){
printf("%s je mimo rozsahu.",prvy_vstup);
goto koniec;
} else{
unsigned long long int vysledok = nsd(prve_cislo,druhe_cislo = strtoull(druhy_vstup,NULL,0));
printf("Nacitane %llu\n",druhe_cislo); printf("Nacitane %llu\n",druhe_cislo);
printf("Najvacsi spolocny delitel cisel %llu a %llu je %llu\n",prve_cislo,druhe_cislo,vysledok); printf("Najvacsi spolocny delitel cisel %llu a %llu je %llu\n",prve_cislo,druhe_cislo,vysledok);
}
} }