Ввести с клавиатуры строку не более 128 символов. Сформировать массив строк, в который скопировать слова исходного текста. При наличии в строке повторяющихся слов, в формируемом массиве держать только одну копию. В качестве разделителей между словами в исходной строке используются пробел и точка. Сформированный массив строк выдать на экран.
Вот что у меня получилось. Компилятор Turbo C++
#include <conio.h>
#include <string.h>
#include <iostream.h>
#include <ctype.h>
#define true 1
#define false 0
void copy(char *str1, char *str2, int _start, int _end)
{
len1=strlen(str1);
j=i-1;
for (int i = 0; i <= len1; i++)
{
if(str2[_start] == str1[i])
n = i+1;
for(j = n; n +_end -_start; n++)
{
if (str1[n] == str2[_start++])
k++;
}
If(k != _end - _start+1&&str1[n+1] == ‘ ‘)
for ( p = _start; p <= _end; p++)
str1[j++] = str2[p];
}
str1[_end - _start + 1] = '\0';
}
void main()
{
clrscr();
char str[128];
cout<<"Vvedite stroku: ";
gets(str);
char Str1[128];
int count = 0, start = 0, end = 0, len = strlen(str);
int i,j,len1,n,k;
str[len+1] = ' ';
for (i = 0; i <= len+1; i++)
{
if ((str[i] == ' ')
{
end = i - 1;
if ((end - start) > 0)
copy(Str1, str, start, end);
start = i + 1;
}
else
}
cout<<”Poluchivsha9s9 stroka: ”<<str1;
getch();
}