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

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

11.05.2020, 21:58. Показов 4503. Ответов 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
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,890
12.05.2020, 10:03
Цитата Сообщение от Fntsr Посмотреть сообщение
Verevkin, сама задача звучит так: "Удалить все дубликаты строк из линейного списка"
Так тут даже язык программирования не указан. Чо ты нам голову морочаешь?
0
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14
12.05.2020, 10:05  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Так тут даже язык программирования не указан. Чо ты нам голову морочаешь?
Учусь в унике на с++, поэтому надо на нём
0
Злостный нарушитель
 Аватар для Verevkin
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,890
12.05.2020, 10:08
Цитата Сообщение от Fntsr Посмотреть сообщение
Учусь в унике на с++, поэтому надо на нём
Ну среда программирования и компилятор тоже не указаны. Можно юзать любой?
0
0 / 0 / 0
Регистрация: 11.05.2020
Сообщений: 14
12.05.2020, 10:09  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Ну среда программирования и компилятор тоже не указаны. Можно юзать любой?
Visual Studio, выше писал, насколько помню
0
Злостный нарушитель
 Аватар для Verevkin
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,890
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
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru