Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 10.10.2014, 9:58   #1
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom 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;
  }
Nažalost, ne znam kako da učinim kod čitljivijim za forum. Ako možete, oprostite, a ako ne razumeću.

Poslednja ispravka: Andross (10.10.2014 u 20:24)
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 10.10.2014, 11:17   #2
Neky
Starosedelac
 
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
Određen forumom Re: Molim vas za pomoć oko programa u C-u.

Postavi kod lepo u
Kod:
ovako nekako
tagove.
Neky je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Neky na korisnoj poruci:
NEWSWEETTOFFEE (10.10.2014)
Stara 10.10.2014, 13:46   #3
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć oko programa u C-u.

Citat:
Neky kaže: Pregled poruke
Postavi kod lepo u
Kod:
ovako nekako
tagove.
Hvala ti puno!! Evo primera da sad i ja to znam.

Kod:
main()
{
    printf("Hello,world!\n");
    
    return 0;
}
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 10.10.2014, 16:43   #4
enaB
Član
 
Član od: 1.12.2005.
Lokacija: Batajnica
Poruke: 184
Zahvalnice: 9
Zahvaljeno 42 puta na 32 poruka
Određen forumom 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)
enaB je offline   Odgovor sa citatom ove poruke
Stara 10.10.2014, 18:42   #5
Teva
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
Određen forumom Re: Molim vas za pomoć oko programa u C-u.

Koja je greška za početak? xD
Teva je offline   Odgovor sa citatom ove poruke
Stara 11.10.2014, 11:01   #6
Eris
Član
 
Član od: 30.6.2007.
Poruke: 487
Zahvalnice: 341
Zahvaljeno 103 puta na 52 poruka
Određen forumom 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)
Eris je offline   Odgovor sa citatom ove poruke
Stara 11.10.2014, 13:54   #7
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć oko programa u C-u.

Citat:
Eris kaže: Pregled poruke
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/)
Znam to za EOF, ali iz nekog razloga moram dva puta da ga ukucam kako bi pokrenuo program. Što se tiče 'getchar'-a, ovaj drugi mi ne treba jer onaj prvi dobavlja novi znak iz unosa za celu ,'veću', 'while' petlju, je li tako? Eto sad i ja mislim da je to jedina greška.
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 12.10.2014, 18:31   #8
Eris
Član
 
Član od: 30.6.2007.
Poruke: 487
Zahvalnice: 341
Zahvaljeno 103 puta na 52 poruka
Određen forumom 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;
             }
}
Eris je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


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


Sva vremena su po Griniču +2 h. Sada je 22:03.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2021, vBulletin Solutions, Inc.
Hosted by Beograd.com