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

Создать список из элементов, которые входят одновременно в оба списка

28.12.2022, 08:58. Показов 424. Ответов 1

Author24 — интернет-сервис помощи студентам
Есть код который создает два однонаправленных списка и объединяет их в один, попутно сравнивая значения списков(но только соседние) и при условии, что значения одинаковые добавляет только один эллемент. Как улучшить программу, чтобы при наличии повторных значений в любом месте списка она в конечный список заносила только один элемент
Условие задачи которую я решал: Составить программу, которая формирует список L, включив в него по одному разу эллементы, которые входят в одновременно в оба списка L1 и L2.
Мне кажется я уже дико запутался и ничего не понимаю.
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
 
using namespace std;
 
struct Node
{
int data;
Node* next;
};
 
typedef Node* PNode;
 
void show(PNode& Head)
{
PNode curr = Head;
while (curr != NULL)
{
cout << curr->data << " ";
curr = curr->next;
}
}
 
void mergeLists(PNode& Head1, PNode& Head2, PNode& Head3)
{
PNode curr1 = Head1;
PNode curr2 = Head2;
while (curr1 != NULL && curr2 != NULL)
{
if (curr1->data == curr2->data)
{
if (Head3 == NULL)
{
Head3 = new Node;
Head3->data = curr1->data;
Head3->next = NULL;
}
else
{
PNode temp = Head3;
while (temp->next != NULL)
{
temp = temp->next;
}
temp->next = new Node;
temp->next->data = curr1->data;
temp->next->next = NULL;
}
curr1 = curr1->next;
curr2 = curr2->next;
}
 
 
}
}
 
 
int main()
{
setlocale(LC_ALL, "Russian");
PNode Head1 = NULL;
PNode curr1 = Head1;
int n;
cout << "Введите список 1 : " << endl;
cin >> n;
while (n != 0)
{
if (!Head1)
{
Head1 = new Node;
Head1->data = n;
Head1->next = NULL;
curr1 = Head1;
}
else
{
curr1->next = new Node;
curr1 = curr1->next;
curr1->data = n;
curr1->next = NULL;
}
cin >> n;
}
curr1 = Head1;
 
PNode Head2 = NULL;
PNode curr2 = Head2;
int n2;
cout << "Введите список 2 : " << endl;
cin >> n2;
while (n2 != 0)
{
if (!Head2)
{
Head2 = new Node;
Head2->data = n2;
Head2->next = NULL;
curr2 = Head2;
}
else
{
curr2->next = new Node;
curr2 = curr2->next;
curr2->data = n2;
curr2->next = NULL;
}
cin >> n2;
}
curr2 = Head2;
 
PNode Head3 = NULL;
mergeLists(Head1, Head2, Head3);
 
cout << "Spisok 1" << endl;
show(Head1);
cout << endl;
cout << "Spisok 2" << endl;
show(Head2);
cout << endl;
cout << "spisok itog" << endl;        
show(Head3);
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2022, 08:58
Ответы с готовыми решениями:

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
Ребят я запутался окончательно.Пытался сам разобраться,но увы только все хуже стало. задание:...

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2
Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба...

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2. Ошибка
Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба...

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

Списки. Составить программу которая формирует список L, включив в него по одному разу элементы, которые входят одновременно в оба списа L1 и L2
Составить программу которая формирует список L, включив в него по одному разу элементы, которые...

1
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.12.2022, 12:26 2
Ну проверяй каждый раз весь список.
0
28.12.2022, 12:26
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2022, 12:26
Помогаю со студенческими работами здесь

Задачи с динамическими переменными. Опишите процедуру, которая формирует список L, включив в него элементы, которые входят в оба списка
Осталась 2 последних лабы. Нужна,чтобы получить зачет,хотя бы одна задача из 8 л.р. и 9 л.р....

Cформировать список L из элементов, которые входят одновременно в списки L1 и L2
Буду очень признательна за помощь.Помогите,пожалуйста,с задачей:cry: Cформировать список L из...

Включить в текстовый файл по одному разу элементы, которые входят одновременно в оба файла L1 и L2
Составить программу, которая формирует файл, включив в него по одному разу элементы, которые входят...

Создать список L3 из элементов, которые входят в список L1 и не входят в список L2
Нужно создать список L3 из элементов, которые входят в список L1 и не входят в список L2, вернуть...

Создать список L3 из элементов, которые входят в список L1 и не входят в список L2
Задание : Создать список L3 из элементов, которые входят в список L1 и не входят в список L2,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru