#include #include #include #include #define SIZE 100 typedef char* string; int Globalni_pole_Vysledek[SIZE]; char *c1, *c2; void secti_dve_cisla(string cislo1, string cislo2){ int pom1=0, // pomocna promenna pro prenos pom2=0, // pomocna promenna pro prenos delka1=0,// delka 1. scitance delka2=0,// delka 2. scitance i=0,// index preteceni,// zjistuji, zda pole preteklo vypisuj=0;// zjistuji, zda budu vypisovat nuly int A[SIZE],//pole, do ktereho ulozim CISLO1, indexu 0 odpovida nulty rad B[SIZE],//pole, do ktereho ulozim CISLO2 indexu 0 odpovida nulty rad Vysledek[SIZE],// pole, do ktereho ulozim vysledek Prevraceny_Vysledek[SIZE];// pole, do ktereho ulozim prevraceny vysledek char ch; char *VYSLEDEK_V_RETEZCI=""; delka1 = strlen(cislo1); delka2 = strlen(cislo2); /* ** Vynulovani poli A,B,Vysledek */ for (i=0; i 0) || (pom2 > 0); if (preteceni){ printf("Preteceni pole, koncim vypocet"); } else // nepreteklo to, tak vysledek prepisu (ve spravnem poradi cifer) // a vratim pole { /* /****** +++++ Ted zapisu vysledek tak, aby cislo s nejvyssi vahoou melo index 0. +++++ Vse ulozim do pole Prevraceny_Vysledek[SIZE] ******/ printf("%s\n+\n%s\n=\n",cislo1,cislo2); for (i = 0; i < SIZE; i++){ Prevraceny_Vysledek[i] = Vysledek[SIZE-(i+1)]; /****** +++++ Ochrana proti zbytecnemu vypisovani nul na zacatku stringu ******/ if (i !=0){ if (Prevraceny_Vysledek[i] != 0){ printf("%d",Prevraceny_Vysledek[i]); }; } else { if (Prevraceny_Vysledek[i] != 0){ printf("%d",Prevraceny_Vysledek[i]); }; } }; printf("\n\n"); for (i = 0; i < SIZE; i++){ Globalni_pole_Vysledek[i] = Prevraceny_Vysledek[i]; }; } } main() { int i; c1="111111"; c2="123456"; secti_dve_cisla(c1,c2); for (i = 0; i < SIZE; i++){ printf("%d",Globalni_pole_Vysledek[i]); }; } /* int main(void) */