Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Najveca rijec teksta i ispis njezine duzine

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Najveca rijec teksta i ispis njezine duzine

[ Pregleda: 3735 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Danijel Bulic
Danijel Bulic
Split

Član broj: 140925
Poruke: 116
*.fesb.hr.



+4 Profil

icon [Zadatak] Najveca rijec teksta i ispis njezine duzine12.01.2010. u 17:48 - pre 173 meseci
Code:
#include <stdio.h>

int max (char tekst[])
{
    int br = 0, i, max;
    for (i=0;tekst[i]!='\0';i++)
        if (tekst[i]!=' ')
            br++;
        else  {
            max = br;
            br = 0;
              }
        return max;
}

int main ()
{
    char tekst[120];
    scanf ("%s", tekst);
    printf ("Najduza rijec ima %d znakova", (max));
    return 0;
}


Moze li pomoc, nesto mi ne radi ?
ex. malak
 
Odgovor na temu

Picsel
Beograd

Član broj: 39817
Poruke: 440
95.180.74.*



+7 Profil

icon Re: [Zadatak] Najveca rijec teksta i ispis njezine duzine12.01.2010. u 22:38 - pre 173 meseci
Prva greska, scanf ucitava samo do sledeceg praznog mesta/nove linije/EOF karaktera, tako da ti ucitavas samo prvu rec.
Druga greska je sto ispisujes (max), a treba da ispises max(tekst), odnosno moras da prosledis parametar funkciji.
Treca greska ti je u funkciji, pre nego sto stavis max=br, moras da proveris da li je br>max.

Evo kako bi kod trebao da izgleda tvoj kod ispravljen
Code:
#include <stdio.h>

int max (char tekst[])
{
    int br = 0, i, max=0;
    for (i=0;tekst[i]!='\0';i++)
        if (tekst[i]!=' ')
            br++;
        else {
            if (br>max) 
              max = br;
            br = 0;
              }
    if (br>max)
      return br;
    else     
      return max;
}

int main ()
{
    char tekst[120];
    gets(tekst);
    printf ("Najduza rijec ima %d znakova", max(tekst)); 
    return 0;
}


Gets ucitava ceo red. Takodje, dodao sam na kraju funkcije proveru da li je br>max, da bi se i poslednja rec uzela u obzir (jer nema razmaka na kraju, pa se mora proveriti van petlje da li je poslednja rec veca od maximalne).

Naravno, ovo sve bi moglo malo elegantnije da se napise.
 
Odgovor na temu

Danijel Bulic
Danijel Bulic
Split

Član broj: 140925
Poruke: 116
*.adsl.net.t-com.hr.



+4 Profil

icon Re: [Zadatak] Najveca rijec teksta i ispis njezine duzine13.01.2010. u 12:34 - pre 173 meseci
Hvala puno, razumijem sada.
ex. malak
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Najveca rijec teksta i ispis njezine duzine

[ Pregleda: 3735 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.