Novo

Forum kao aplikacija na telefonu

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

[Zadatak] Za svaku riječ isprintati onoliko * koliko je riječ duga

  • 2 odgovora
  • 2.462 pregleda

Najnovija ↓

[Zadatak] Za svaku riječ isprintati onoliko * koliko je riječ duga 05.12.2008. u 12:09 · pre 217 meseci #1
Code:
#include <stdio.h>
int main()
{
    int ch;
    int cnt = 0;
    int i;
    while ( (ch = getchar () ) != EOF )
    {
        cnt++;
        if ( ( ch == ' ' ) || '\n')
        {    
            for ( i = 0; i < cnt; i++ )
                printf ( "*" );
            printf ( "\n" );
            cnt = 0;
        }
    }
    return 0;
}

U zadatku se traži: za svaku riječ isprintati onoliko * koliko je riječ duga. Što mene muči? Ja pokrenem debager, dođem do while ( (ch = getchar () ) != EOF ) unesem naprimer: asdb ght rb , stisnem ENTER, dođem do if ( ( ch == ' ' ) || '\n') provjerava se 'a' == ' ' || '\n' i on vrati True!!? i uđe u for petlju, ako napišem u kodu if ( ( ch == ' ' ) dakle bez '\n' vrati false. I nije problem samo u '\n' ako stavim bilo koji znak on vraća True. Koliko sam shavatio Or operator vraća True ako je 1 ili 2 operanta True. Ovde očito oba vraćaju False 'a' == ' ' || '\n'. a nije jednako praznom znaku ni novom redu. Ne želim da mi se riješi zadatak već da shvatim u čemu grešim.
Re: [Zadatak] Za svaku riječ isprintati onoliko * koliko je riječ duga 09.12.2008. u 22:26 · pre 217 meseci #3
Ovako je jednostavnije. Program za svako slovo iz alfabeta štampa znak *, za novi red štampa novi red, a za sve ostale znakove štampa prazno mesto.

Code:
#include <stdio.h>
#include <ctype.h>

int main()
{
  int ch;
  
  while ((ch = getchar()) != EOF)
  {
    if (isalpha(ch))
      printf("*");
    else
    if (ch == '\n')
      printf("\n");
    else
      printf(" ");
  }
  
  return 0;
}
Potpis
„Naposletku, suština saznavanja nije u tome gubimo li igru, već kako je gubimo,
šta time spoznajemo, čemu nas je poraz naučio i kako nas to menja. Gubiti na određen
način znači - dobijati.”

Richard Bach
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme