Форум программистов, компьютерный форум CyberForum.ru

Дана строка. Удалить из строки повторные слова. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
28.02.2012, 15:57     Дана строка. Удалить из строки повторные слова. #1
Дана строка. Группы символов, разделенные пробелами(одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из этой строки все повторные вхождения слов, а к начале строки дописать количество оставшихся слов.

Добавлено через 1 час 40 минут
Ну же, очень нужно

Добавлено через 17 часов 22 минуты
Ну ни у кого нет идей?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2012, 15:57     Дана строка. Удалить из строки повторные слова.
Посмотрите здесь:

C++ Дана строка S и натуральное число N. Создать новую строку, включив в нее все слова из N букв исходной строки
C++ Дана строка, удалить слова содержащие цифры
Дана строка символов, состоящая из букв и цифр. Удалить из строки все цифры C++
Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово. C++
Дана строка. Удалить из строки все двойные символы. Пример: “asddewwf” → “asdewf” C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
04.03.2012, 23:05  [ТС]     Дана строка. Удалить из строки повторные слова. #2
повторные вхождения это одинаковые слова т.е.: мама мыла раму. Мама мыла окно.
Результат должен быть : Мама мыла раму. окно

Ну что никто не может решить эту задачу???
-=ЮрА=-
Заблокирован
Автор FAQ
05.03.2012, 18:33     Дана строка. Удалить из строки повторные слова. #3
Vadikk, задание уже рассматривалось здесь
Вывести слова которые повторяются и количество их повторения
там как раз тестом было
Цитата Сообщение от Vadikk Посмотреть сообщение
Мама мыла раму. окно
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
12.03.2012, 22:33  [ТС]     Дана строка. Удалить из строки повторные слова. #4
нужно без библиотеке string.h епохожая программмка, но разобраться не могу
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>  
#include <stdlib.h>  
#include <conio.h>
using namespace std;
 
int WasFound(char const str[],int i, int from) // ГЄГ*ГЄ Г±Г·ГҐГІГ·ГЁГЄ 
{
    for(int j=from;j<i;j++) if(str[j]==str[i]) return 1; // åñëè ýëåìåГ*ГІГ» ïîâòîðÿþòñÿ ГІГ® âîçâðГ*Г№Г*ГҐГІ 1
    return 0; // åñëè Г*ГҐ ïîâòîðÿþòñÿ ГІГ® 0 
}
 
void Convertion(char const str1[], char str2[]) 
{
    int i,j,from; // ГЁГ*äåêñû: Гў èñõîäГ*îé ñòðîêå, Гў ðåçóëüòèðóþùåé, Г*Г*Г·Г*Г«Г* ñëîâГ* 
    i=-1;
    j=0;
    
    do{
        i++;
        if(str1[i]!=' ')
        if(i==0 || str1[i-1]==' ') from=i; // ôèêñèðóåì Г*Г*Г·Г*ëî ñëîâГ* 
        else if(WasFound(str1, i, from)) continue;//åñëè ГІГ*êîé óæå áûë 
 
        //Гў ýòîì ñëîâå - ïðîïóñêГ*ГҐГ¬ 
        str2[j++]=str1[i];// êîïèðóåì ГЁ óâåëè÷èâГ*ГҐГ¬ ГЁГ*äåêñ âòîðîé ñòðîêè 
      }while(str1[i]); 
}
    
 
 
 
 
 
 
int main()
{
    char str1[256], str2[256]=""; // ГЇГ*ìÿòü äëÿ ñòðîê: èñõîäГ*îé ГЁ ðåçóëüòèðóþùåé 
 
 
// ïðèãëГ*ГёГҐГ*ГЁГҐ ГЁ ââîä 
    printf("ÓäГ*ëåГ*ГЁГҐ ïîâòîðГ*ûõ ГЎГіГЄГў\n"); 
 
    printf("Ââåäèòå ñòðîêó:\n"); 
    gets(str1); 
    Convertion(str1, str2); 
    printf("ÐóçóëüòГ*ГІ:\n"); 
    puts(str2); 
    getch(); 
 
 
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Добавлено через 1 минуту
Цитата Сообщение от Vadikk Посмотреть сообщение
int main()
не int а void
Yandex
Объявления
12.03.2012, 22:33     Дана строка. Удалить из строки повторные слова.
Ответ Создать тему
Опции темы

Текущее время: 14:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru