Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14

Удалить повторяющиеся строки

11.05.2020, 21:58. Показов 4411. Ответов 29

Студворк — интернет-сервис помощи студентам
Нужна помощь, вот программа, создающая список и удаляющая из него повторяющиеся элементы. Затруднение в том, что не получается это дело перевести из чисел в строки. То есть, по итогу программа должна создавать список, заполненный с клавиатуры (можно и сразу записанный), условно из 10 элементов, и удалять из него уже повторяющиеся строки, а не числа.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdio.h>
#include <stdlib.h>
struct List
{
    int data;
    struct List* next;
};
struct List* create_list(int a)
{
    struct List* root;
    root = (struct List*)malloc(sizeof(struct List));
    if (root)
    { 
        root->data = a;
        root->next = NULL;
    }
    return(root);
}
struct List* add(List* root, int number)
{
    struct List* temp, * p;
    temp = (struct List*)malloc(sizeof(List));
    if (temp)
    {
        temp->data = number;
        temp->next = NULL;
    }
    p = root;
    while (p->next) {
        p = p->next;
    }
    p->next = temp;
    return(root);
}
void listprint(List* lst)
{
    struct List* p;
    p = lst;
    do {
        printf("%d ", p->data);
        p = p->next;
    } while (p != NULL);
    printf("\n");
}
void freemem(List* root) {
    List* tmp = root, * prev;
    while (tmp) {
        prev = tmp;
        tmp = tmp->next;
        free(prev);
    }
    printf("\nClear!\n");
}
void removeDuplicates(struct List* list)
{
    struct List* var1, * var2, * del;
    var1 = list;
        while (var1 != NULL && var1->next != NULL)
        {
            var2 = var1;
                while (var2->next != NULL)
                {
                        if (var1->data == var2->next->data)
                        {
                            del = var2->next;
                            var2->next = var2->next->next;
                            delete(del);
 
                        }
                        else
                            var2 = var2->next;
                }
            var1 = var1->next;
        }
}
int main() {
    struct List* head;
    head = create_list(0);
    for (size_t i = 1; i < 10; i++)
    {
        head = add(head, i);
        head = add(head, i);
    }
    listprint(head);
    removeDuplicates(head);
    listprint(head);
    freemem(head);
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2020, 21:58
Ответы с готовыми решениями:

С++ Удалить повторяющиеся строки
Задача: Задан файл с записями вида: • фамилия; • имя. Создать файл с записями такого же вида, исключив из него повторяющиеся записи...

Удалить из строки повторяющиеся слова
Всем привет! Никак не могу разобраться с заданием из книги Бьерн Страуструпа: Задание: &quot;Читайте последовательность слов из...

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

29
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14
12.05.2020, 09:58  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Verevkin Посмотреть сообщение
А мож надо было С++Builder взять и не мучаться?
Покаж задание.
Verevkin, сама задача звучит так: "Удалить все дубликаты строк из линейного списка"
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
12.05.2020, 10:03
Цитата Сообщение от Fntsr Посмотреть сообщение
Verevkin, сама задача звучит так: "Удалить все дубликаты строк из линейного списка"
Так тут даже язык программирования не указан. Чо ты нам голову морочаешь?
0
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14
12.05.2020, 10:05  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Так тут даже язык программирования не указан. Чо ты нам голову морочаешь?
Учусь в унике на с++, поэтому надо на нём
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
12.05.2020, 10:08
Цитата Сообщение от Fntsr Посмотреть сообщение
Учусь в унике на с++, поэтому надо на нём
Ну среда программирования и компилятор тоже не указаны. Можно юзать любой?
0
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14
12.05.2020, 10:09  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Ну среда программирования и компилятор тоже не указаны. Можно юзать любой?
Visual Studio, выше писал, насколько помню
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
12.05.2020, 10:17
Цитата Сообщение от Fntsr Посмотреть сообщение
Visual Studio, выше писал, насколько помню
Я тебе говорю - другой возьми. Чо ты к Visual Studio докопался?
0
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14
12.05.2020, 10:21  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Я тебе говорю - другой возьми. Чо ты к Visual Studio докопался?
Опять же, преподаватель на vs сказал
По сути, всё по итогу сделали и работает, вчера помогли
Наверное и тему можно считать закрытой
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
12.05.2020, 13:08
Цитата Сообщение от Folian Посмотреть сообщение
у меня закралось впечатление, что const char* - это не const "тип"*, а совершенно самостоятельный тип, к которому можно привести char*, возможно ли такое? Поведение-то этих сущностей и так несколько выделяется. Где-то, может, описано доступно?
Ерунду написал; разобрался: не путать констнтный указатель и указатель на константу.
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
12.05.2020, 13:59
Цитата Сообщение от Folian Посмотреть сообщение
меня закралось впечатление, что const char* - это не const "тип"*, а совершенно самостоятельный тип, к которому можно привести char*, возможно ли такое?
Не понял суть вопроса. const - спецификатор, с помощью const_cast его можно снять или добавить. Естественно типы с const и без него отличаются, но причем тут совершенно самостоятельный тип?
Цитата Сообщение от Folian Посмотреть сообщение
Где-то, может, описано доступно?
- Еще раз про приведение типов в языке С++ или расстановка всех точек над cast
- const_cast conversion
- в любой нормальной книге по C++.
1
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
12.05.2020, 14:15
Цитата Сообщение от valen10 Посмотреть сообщение
Не понял суть вопроса. const - спецификатор, с помощью const_cast его можно снять или добавить. Естественно типы с const и без него отличаются, но причем тут совершенно самостоятельный тип?
Это я вчера заигрался с аргументами функций и что-то в голову стрельнуло, пришли тараканы и нашептали дичи. С утра почитал - всё по полочкам сложилось.
В любом случае спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2020, 14:15

Удалить из строки все повторяющиеся символы
как удалить со строки все повторяющиеся символы???? заранее благодарен!

Удалить из строки все повторяющиеся слова (без учета регистра)
Удалить из сообщения все повторяющиеся слова (без учета регистра). У меня строка вводится в Memo. Помогите пожалуйста. Добавлено...

Удалить из строки все повторяющиеся буквы, оставив только их первые вхождения
2.Даны строки, содержащие латинские буквы. Удалить из строки все повторяю* щиеся буквы, оставив только их первые вхождения.

Перевести из C++ в Си: удалить из исходной строки слова-палиндромы, повторяющиеся более двух раз
Утро доброе. Нужна помощь. Перевести данный код в Си. Плюсы знаю хорошо, но проблема с реализацией его в Си, ибо не помню действий со...

Удалить повторяющиеся пробелы между отдельными словами строки (оставляя по одному пробелу)
Введите предложение, слова в котором разделены пробелами и в конце которого стоит точка. Удалите повторяющиеся пробелы между отдельными...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу: https:/ / github. com/ altbodhi/ ReConMan По итогу пришел к мысли, что DU не дружат с существующими технологиями. От сериализации до отображения в реляционную. . .
Администрация Хабра удаляет новые алгоритмы, которые не западно ориентированной философии кода, без уведомлений и объяснений.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru