#include #include int main() { //inicijacija broja - varijable /************************************************* Analiza koda **************************************************/ //Dobro je poravnati velike zagrade jer onda znas odakle pocinje i gdje se zavrsava //neka operacija int oNu, sup, sun; int sa, sap; int sb, sbp; int sc; int * pONu = &oNu; //Variable sup, sun, sa,sb,sc i pokazivac pONu nigdje e ne koriste printf("Molimo unesite prirodan broj manji od 100: \n"); scanf(" %d", &oNu); printf("\n Unijeli ste jednu jedan broj, a to je %d \n", oNu); printf("Testiramo uslov iz zadatka, molimo strpljenje \n"); if(oNu<10) { printf("manje od 10\n"); switch(oNu%2) { case (1): printf("Suma neparnih cifara je veca od sume parnih"); break; case(0): printf("Suma parnih cifara je veca od sume neparnih"); break; } } //ovo se nemoze ovako napisati i proci ce svaki broj veci od 10 //znaci ovdje ce proci svi brojevi veci od 10 //dovljno je napisati oNu<100 jer oni manj od 10 ce proci kroz if ili prvi uslov //tako da nece ovdje proci svakako else if (9 < oNu < 100) { printf("manje od 100\n"); /* sledeci kod ispod nemogu bas skontati cemu sluzi ali cu pokusati da ga pojasnim sta radi: sa = oNu%10; variabla sa sadrzi ostatak od dijeljenja sa 10 unesenog nam broja Posto ti je bila namjera napraviti funkciju koja ima uneseeni broj manji od sto tj. ima samo 2 cifre onda taj broj kada dijelimo sa 10 prakticno dobijamo ostatak cfru jedinica ili prvu cifru. sap = sa%2; variabla sap sadrziv ostatak od dijeljenje variable sa sa brojem 2. Ovdje treba napomenuti da bi rezultat bio isti i da smo uzeli uneseni broj pa je prakticno sa variable nepotrebna bilo koja cifra deetica nema oticaja na ostatak od dijeljenja sa 2. sb = (oNu-sa)/10; sb variabla sadrzi unesenu vrijednos umanjenu za ostatak od dijeljenja sa 10 a to jest njenu prvu cifru i dijeljeno sa 10 To bi u stvarnosti znacilo dadobijamo cifru desetica a to mozemo dobiti dijeljenje jer je variabla int a to je cjelobrojna vrijednost znaci samo da podijelimo broj sa 10 i dobit cemo rezultat */ printf("desetice %d\n",oNu/10); sa = oNu%10; sap = sa%2; sb = (oNu-sa)/10; sbp = sb%2; /*Mislim da dalje netreba analizirati jer je mnogo iskomlikovano Imamo 2 broja za koje znamo jesu li parni ili neparni Ukoliko je sap 0 znaci da jecifra jedniocica parna ili (else) ako nije onda je neparna U oba slucaja se zbarajaju u neke variable koje se mogu zvati: int zbir_parnih, zbir_neparnih; Isto je i za drugu cifr desetica sada kad imamo 2 zbira samo treba uporediti koji je veci sa jednim ifom. */ if(sap==1 && sbp==1) { printf("Suma neparnih cifara je veca od sume parnih"); } else if (sap==0 && sbp==0) { printf("Suma parnih cifara je veca od sume neparnih"); } else { if (sap==0 && sbp==1 && sa>sb) { printf("Suma parnih cifara je veca od sume neparnih"); } else if (sap==1 && sbp==0 && sasb){ printf("Suma neparnih cifara je veca od sume parnih2"); } else { printf("nešto ne valja"); } } } return 0; }