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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
TrIcKsTeR13r
5 / 5 / 1
Регистрация: 19.11.2010
Сообщений: 36
#1

Обработка текста, удаление повторного вхождения слов - C++

19.11.2010, 09:26. Просмотров 1175. Ответов 2
Метки нет (Все метки)

Помогите написать задачу на С:

Задана фраза - последовательность, содержащая от 1 до 25 слов, в каждом из которых от 1 до 10 строчных латинских букв; между соседними словами запятая, за последним словом точка. Напечатать эту же последовательность слов, но удалив из нее повторные вхождения слов.

Программа должна читать текст из файла «input.txt» и выводить последовательность в файл «output.txt».
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2010, 09:26     Обработка текста, удаление повторного вхождения слов
Посмотрите здесь:

Задача на удаление слов на "а" из текста C++
C++ Строки(стринг).....удаление слов из текста
C++ Статистика вхождения слов в массиве файлов (~50Gb)
C++ Удаление повторяющихся соседних слов из текста
Удалить из последовательности все повторные вхождения слов C++
Подсчитать частоту вхождения слов в текстовом файле C++
C++ Удаление слов из текста
C++ Обработка слов строки без массива слов
C++ Удалить повторные вхождения слов в предложение
C++ Программа для подсчета частоты вхождения слов
Чтение текста из текстового фала, обработка слов и вывод в консоль C++
Программа для подсчета частоты вхождения слов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sigmov
557 / 344 / 28
Регистрация: 22.07.2009
Сообщений: 834
Записей в блоге: 4
Завершенные тесты: 2
19.11.2010, 10:14     Обработка текста, удаление повторного вхождения слов #2
Цитата Сообщение от TrIcKsTeR13r Посмотреть сообщение
Помогите написать задачу на С:

Задана фраза - последовательность, содержащая от 1 до 25 слов, в каждом из которых от 1 до 10 строчных латинских букв; между соседними словами запятая, за последним словом точка. Напечатать эту же последовательность слов, но удалив из нее повторные вхождения слов.

Программа должна читать текст из файла «input.txt» и выводить последовательность в файл «output.txt».
C#
1
2
3
4
5
6
string s = "mas , dur, mas, dom";
var words =  
    from g in s.Split(new char[] { ',', '.', ' ' }, StringSplitOptions.RemoveEmptyEntries).GroupBy(w => w) 
    select g.FirstOrDefault();
foreach (var e in words)
    Console.WriteLine(e);
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
19.11.2010, 18:19     Обработка текста, удаление повторного вхождения слов #3
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
#include <string.h>
#include <stdio.h>
 
int main()
{
    char in[]="hello,world,hello,people,good bye.";
    char incopy[256]={'\0'};
    char out[256]={'\0'};
    char* token;
    char* s;
    strcpy(incopy, in);
    token = strtok(incopy,",.");
    while (token!=0)
    {
        s=strstr(out, token);
        if(!s || *(s+strlen(token))!=',')
        {
            strcat(out, token);
            strcat(out, ",");
        }
        token = strtok(0,",.");
    }
    out[strlen(out)-1]='.';
    printf("%s", out);
    getchar();
}
Yandex
Объявления
19.11.2010, 18:19     Обработка текста, удаление повторного вхождения слов
Ответ Создать тему
Опции темы

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