|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
10.10.2014, 9:58 | #1 |
Član
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
|
Molim vas za pomoć oko programa u C-u.
Zdravo! Evo, napisao sam program koji broji reči različitih dužina i posle njihov broj prikazuje u tabeli (histogramu), ali kada ga pokrenem i unesem tekst, onda on ne radi ono za šta je napisan. Ne mogu da pronađem grešku u kodu (verovatno je do mene ), pa vas forumaše molim da pogledate da li ima greška u kodu. Evo i koda:
Kod:
main() { int rec[10], i, j, bs=0; char c; for(i=0; i<10; i++) rec[i]=0; while((c=getchar())!=EOF) { while((c>='A' && c<='Z') || (c>='a' && c<='z')) { bs++; c=getchar(); } if(bs>=1 && bs<=9) rec[bs-1]++; else if(bs>=10) rec[9]++; bs=0; c=getchar(); } for(i=0; i<10; i++) { if(i<9) { printf("%d-slovne reci: ", i+1); for(j=1; j<=rec[i]; j++) printf("- "); } else { printf("10-slovne\n"); printf(" i duze reci: "); for(j=1; j<=rec[i]; j++) printf("- "); } printf("\n"); } return 0; } Poslednja ispravka: Andross (10.10.2014 u 20:24) |
10.10.2014, 11:17 | #2 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
Postavi kod lepo u
Kod:
ovako nekako |
Sledeći korisnik se zahvaljuje korisniku Neky na korisnoj poruci: | ||
NEWSWEETTOFFEE (10.10.2014) |
10.10.2014, 13:46 | #3 |
Član
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
|
10.10.2014, 16:43 | #4 |
Član
Član od: 1.12.2005.
Lokacija: Batajnica
Poruke: 184
Zahvalnice: 9
Zahvaljeno 42 puta na 32 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
Program radi verovatno baš onako kako je napisan, a ako ne radi ono što hoćeš znači da nije dobro napisan Mnogo si ga zakomplikovao, moglo je kraće da se napiše. Na primer unos i prebrojavanje slova bi moglo recimo i ovako
Kod:
char len, hist[11]={0}; char rec[15]; while(1) { scanf("%s", rec); len = strlen(rec); if(len==1) break; if(len>10) len=10; hist[len]++; } Poslednja ispravka: enaB (10.10.2014 u 16:54) |
10.10.2014, 18:42 | #5 |
Starosedelac
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
Koja je greška za početak? xD
|
11.10.2014, 11:01 | #6 |
Član
Član od: 30.6.2007.
Poruke: 487
Zahvalnice: 341
Zahvaljeno 103 puta na 52 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
Program radi, samo ima jednu gresku, ne treba ti ono jedno c = getchar(); posle bs = 0; preskace slova zbog toga.
Verovatno nisi uspeo da ga poteras kako treba zbog ovog EOF, ako radis na windows-u u konzoli posle teksta udari CTRL+Z za EOF karakter. (primer: >dve reci /enter/ >CTRL+Z /enter/) Poslednja ispravka: Eris (11.10.2014 u 12:00) |
11.10.2014, 13:54 | #7 | |
Član
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
Citat:
|
|
12.10.2014, 18:31 | #8 |
Član
Član od: 30.6.2007.
Poruke: 487
Zahvalnice: 341
Zahvaljeno 103 puta na 52 poruka
|
Re: Molim vas za pomoć oko programa u C-u.
Da, ne treba ti zbog onog prvog u while(c = getchar()......
cak ti je dovoljan i samo taj jedan, ako drugi while zamenis sa if Kod:
while((c=getchar())!=EOF) { if((c>='A' && c<='Z') || (c>='a' && c<='z')) { bs++; } else { if(bs>=1 && bs<=9) rec[bs-1]++; else if(bs>=10) rec[9]++; bs=0; } } |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Molim pomoć | Anaa | Kvarovi | 19 | 12.12.2014 0:37 |
Molim za pomoć oko kupovine | The_Sashka | ŠDK - Konfiguracije | 28 | 18.7.2014 15:42 |
Kako bootovati Windows preko usb-a uz pomoć programa Unetbootin? | igormil | Aplikativni softver | 2 | 22.1.2013 16:04 |
Treba mi pomoć oko pisanja programa [C++] | Demosten | Programiranje | 35 | 28.3.2012 11:05 |
Pomoć oko instaliranja programa | cvrcakko | Aplikativni softver | 2 | 18.10.2007 15:14 |