Wyszukiwanie słów w tekście.

0

Witam, napisałem takie coś co miało za cel odnajdywać i wypisywać słowa w podanym tekście. Program oczywiście nie działa a ja nie mogę poradzić sobie z odnalezieniem błędu. Proszę o pomoc :)

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

main()
{
	char tekst[1000];
	char slowa[100][100];
	int i,j,k,l;
	int licznik=-1;

	printf("podaj tekst, program wybierze slowa \n");
	fflush(stdin);
	gets(tekst);

	j=0;
	for(i=0; tekst[i]!='\0'; i++)
	{
		if (tekst[i]==' ')
		{
			licznik++;
			for(k=j,l=0;tekst[k]!=' '; k++,l++)
				{
					slowa[licznik][l]=tekst[k];
					slowa[licznik][l+1]='\0';
				}
			j=i;
		}
	}

	for(i=0; i<=licznik+1; i++)
	{
		for(j=0; slowa[i][j]!='\0'; j++)
		{
		printf("%c", slowa[i][j]);
		}
		printf("\n");
	}

	system("pause");
	return 0;
}
0

http://www.cplusplus.com/reference/cstring/
szczególnie: strlen,strcpy,memcpy,strcmp,strtok,strchr

0

Chodzi o to że nie mogę używać żadnych funkcji :)

0

Teraz faktycznie wybiera tylko słowa :) Cyfry i inne znaki pomija

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


main()
{
	char tekst[100];
	char slowa[100];
	
	int i,j,k;
	int licznik=0;

	printf("podaj tekst, program wybierze slowa \n");
	fflush(stdin);
	gets(tekst);

	j=0;
	k=0;

	for(i=0; tekst[i]!='\0'; i++)
	{
		if(tekst[i]==' ')
		{
			slowa[j]=' ';
			j++;
		}
		
		if ((tekst[i]>='a') && (tekst[i]<='z'))
		{
			slowa[j]=tekst[i];
			j++;
		}

		slowa[j+1]='\0';
	}

	puts(slowa);

	system("pause");
	return 0;
}
0

A teraz to samo tylko po ludzku:

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

int main()
  {
   int ch,in=1;
   printf("podaj tekst, program wybierze slowa\n");
   while((ch=getchar())!='\n') in=isalpha(ch)?putchar(ch):(in?!putchar('\n'):in);
   getchar();
   return 0;
  }

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