Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 5.090 pregleda

Najnovija ↓

[Zadatak] Najveca rijec teksta i ispis njezine duzine 12.01.2010. u 18:48 · pre 204 meseca #1
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 ?
Potpis
ex. malak
Re: [Zadatak] Najveca rijec teksta i ispis njezine duzine 12.01.2010. u 23:38 · pre 204 meseca #2
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme