[ Bonaventura @ 05.03.2010. 18:49 ] @
Dobra večer... srdačan pozdrav svima... Ukratko radim program koji bi iz datoteke trebao čitati brojeve(u ovom slučaju 1-znam. i 2 -znam.) te nakon toga napraviti statistiku o tome koliko se koji broj puta pojavio u datoteci...napravio sam program koji radi ako se ručno unose brojevi...znači bez datoteka...sada kad sam pokušao s datotekama...neke stvari rade...ali neke ne...tj konkretno u datoteci iz koje čita su brojevi ovako napisani 1 2 3 4 5 6 7 8 9 10 11 12 a rezultat nakon kompajliranja je: 1 2 3 4 5 6 7 8 9 10 11 12(znači ispiše sve brojeve dobro) ali kod brojanja je broj 1:2 puta broj 2:1 puta broj 3:1 puta broj 4:1 puta broj 5:1 puta broj 6:1 puta broj 7:1 puta broj 8:1 puta broj 9:0 puta (itd.sve do kraja je 0) problem je u tome što ne broji sve brojeve i ne broji 2-znamenkaste pravilno...npr ako stavim prvih 9 brojeva on će brojati dobro prvih 8...ali 9 neće primijetit...a drugi problem je da 2-znamenkaste brojeve ne broji pravilno,npr 12 broji kao 1 i 2 a ne kao 12...to su problemi...ne znam kako ih riješiti pa bi vas zamolio za pomoć... #include <stdio.h> #include <stdlib.h> int main() { FILE *inputfile; int c,d; int broj[41]={0}; inputfile=fopen("input1.txt","r"); if(inputfile == NULL) { printf("Ne mogu otvoriti datoteku \n"); exit(1); } while((c=getc(inputfile))!=EOF ) { printf("%c",c); for(d=1;d<41;d++){ if(c==d+49) broj[d]++; } } printf("\n\n 1: %d puta \n 2: %d puta \n 3: %d puta \n 4: %d puta \n 5: %d puta \n",broj[1],broj[2],broj[3],broj[4],broj[5]); printf(" 6: %d puta \n 7: %d puta \n 8: %d puta \n 9: %d puta \n10: %d puta \n",broj[6],broj[7],broj[8],broj[9],broj[10]); printf("11: %d puta \n12: %d puta \n13: %d puta \n14: %d puta \n15: %d puta \n",broj[11],broj[12],broj[13],broj[14],broj[15]); printf("16: %d puta \n17: %d puta \n18: %d puta \n19: %d puta \n20: %d puta \n",broj[16],broj[17],broj[18],broj[19],broj[20]); printf("21: %d puta \n22: %d puta \n23: %d puta \n24: %d puta \n25: %d puta \n",broj[21],broj[22],broj[23],broj[24],broj[25]); printf("26: %d puta \n27: %d puta \n28: %d puta \n29: %d puta \n30: %d puta \n",broj[26],broj[27],broj[28],broj[29],broj[30]); printf("31: %d puta \n32: %d puta \n33: %d puta \n34: %d puta \n35: %d puta \n",broj[31],broj[32],broj[33],broj[34],broj[35]); printf("36: %d puta \n37: %d puta \n38: %d puta \n39: %d puta \n40: %d puta \n",broj[36],broj[37],broj[38],broj[39],broj[40]); fclose(inputfile); getch(); return 0; } |