Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 91
1

Запись в файл слов, которые не повторяются

05.01.2016, 20:33. Показов 578. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, помогите с кодом. Как сделать чтобы считать с файла слова в односвязный список, сделать сортировку, и записать в другой файл слова кроме тех которые повторяются. Вот мой код:
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
void List::readFromFile(char *FileWay)
{
    FILE *file;
    int j = 0;
    file = fopen(FileWay,"r");
    if (file == NULL) {
        cout << "Error" << endl;
        return;
    }
    char masuv[100];
    while (!feof(file))
        fgets(masuv, 99, file);
    char *mass = strtok(masuv, " ,.-");
    while (mass != NULL) {
        add (mass);
        mass = strtok(NULL, " ,.-");
    }
    fclose(file);
}
void List::add(char *mass)
{
    Listitem *temp = new Listitem;
    strcpy_s(temp->word, 50, mass);
    temp->pNext = NULL;
    if (head != NULL) {
        tail->pNext = temp;
        tail = temp;
        counter++;
    }
    else{
        head = tail = temp;
        counter++;
    }
}
void List::WriteToFile ()
{
    Listitem *p=NULL;
    Listitem *temp=head;
    FILE *file;
    file=fopen("2.txt","w+");
    for (int i=0;i<GetCounter();i++){
        p=temp->pNext;
        if (strcmp(p->word,temp->word)==0)
            continue;
        else{
            fputs (p->word,file);
            fputs ("\n",file);
        }
        temp=temp->pNext;
    }
    fclose (file);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2016, 20:33
Ответы с готовыми решениями:

Вывод слов, которые не повторяются в строке
Есть Pascal'евский код program lb6; uses crt; var s,sl:string; i,d,j,k: integer; a:array of...

Дана строка, состоящая из слов: вывести слова, которые повторяются хотя бы один раз
помогите исправить и доработать программу! ---------------Задание--------------------- Дана...

Подсчитать количество слов в строке, которые повторяются 3 и более раза с количеством символов больше 6
Console.WriteLine(&quot;Пов. слово&quot;); string pov = Console.ReadLine(); ...

Найти минимильное значение среди чиcел которые не повторяются, или повторяются не более 2-х раз
Вобщем надо решить данную задачу : Найти минимильное значение чилел, которые не повторяються, или...

2
130 / 70 / 25
Регистрация: 20.03.2014
Сообщений: 261
05.01.2016, 20:52 2
Вижу часть кода реализующего связанный список, код не весь.
Алгоритм действий такой
1. открываем файл для чтения
2. читаем слово
3. проходим весь список и определяем нет ли уже такого слова в списке
4. если нет то добавляем, переходим к шагу 2
5. если конец файла то переходим к сортировке списка

Предлагаю сортировать так
1. создать 2-й список
2. перебором находим в 1-м списке минимальное слово
3. вставляем его в новый список, удаляем со старого
4. повторяем шаги 2 и 3 пока 1-й список не опустеет

Описал метод сортировки простой вставкой
Немного неясен вот этот момент
Цитата Сообщение от Restartuk Посмотреть сообщение
слова кроме тех которые повторяются
Например: сыр вода стекло калоша сено сыр вода
нужно выводить
сыр вода сено калоша стекло
или
сено калоша стекло ???
0
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 91
05.01.2016, 21:03  [ТС] 3
сыр вода сено калоша стекло
0
05.01.2016, 21:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2016, 21:03
Помогаю со студенческими работами здесь

Найти количество чисел , которые повторяются в массиве, а также сколько именно раз они повторяются
Помогите, пожалуйста, Пользователь определяет размер массива, заполняет его и программа считает...

Разработать подпрограмму, которая в заданной строке определяет наличие слов, которые повторяются два или более раза
Разработать подпрограмму, которая в заданной строке определяет наличие слов, которые повторяются...

Вычислить сумму всех чисел массива, которые повторяются и произведение всех чисел, которые не повторяются
Задано массив целых чисел A(n), n=&lt;500. Разработать программу, которая вычисляет сумму всех чисел,...

В строке слов из букв латинского алфавита найти слова, в которых нет букв, которые повторяются.
В строке слов из букв латинского алфавита найти слова, в которых нет букв, которые повторяются.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru