Zliczanie slow z wejscia

0

Witam, mam takie zadanie:

Napisać program, który policzy ile razy każde ze słów występuje w tekście wejściowym. Słowa należy wypisać kolejno w osobnych wierszach poprzedzając je ilościa wystąpień wypisaną na 5 znakach. Uzyć do przechowywania słów tablicy napisów. Zakładamy że słowa są nie dłuższe niż 40 znaków i nie ma więcej róznych słów niż 1000. Użyć funkcji operujących na napisach opisanych w string.h.

Poki co napisalem cos takiego:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define IN 1 // w slowie
#define OUT 0 //poza slowem

main ()
{
     int c, stan,i,j,dl;
     char lancuch[1000][40];
     i=j=0;
     stan=OUT;
     while ((c = getchar()) !=EOF) 
     {
           if (c == ' ' || c == '\n' || c == '\t') 
           {
                 lancuch[i][j]=c;
                 j++;
                 if (stan == IN) 
                 {
                          stan = OUT;
                          i++;
                          j=0;
                 }
           } else if (stan == OUT) 
             {
                  stan = IN; //poczatek slowa
             }
     }
     for(i=0; i<=4;i++)
     {        
              dl=strlen(lancuch[i]);
              for (j=0; j<=dl; j++)
                  printf("%s\n", lancuch[i][j]);
     }

}

i na razie tylko chce osiagnac zeby wypisalo mi te lancuchy i moj zamysl byl taki, ze np po wpisaniu do wejscia

test test1 test2

uzyskac:
lancuch[1] - test
lancuch[2] - test1
lancuch[3] - test2

wobec tego, czy ten kod jest napisany dobrze? jesli tak, to dlaczego nie chce go wyswietlac? A jesli nie, to gdzie mam blad? z gory dziekuje za odpowiedz :)

0

Ale przecież ty nigdzie tych swoich łańcuchów nie wpisujesz do tablicy, no chyba ze ja mam jakąś pomroczność.
Jedyne wstawianie czegokolwiek widze w warunku:
if (c == ' ' || c == '\n' || c == '\t')
który wyklucza opcje że to jakieś słowo ;)

No i czy nie łatwiej jakiego scanfa użyć? który wczyta ci ładnie słowo od spacji do spacji ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0