Bonaventura Zagreb
Član broj: 217891 Poruke: 4 89.18.36.*
|
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;
}
|