![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.05.2016
Сообщений: 11
|
![]()
необходимо:сформировать из последовательности целых чисел линейный список и преобразовать его, оставив только те числа, которые встречают в списке только 1 раз.
никак не могу удалить повторяющиеся элементы, не знаю как это реализовать, вот все, что получилось осилить: #include <iostream> #include <iomanip> #include <string.h> #include <fstream> using namespace std; struct para { int inf; para *ref; }; para *create(istream& input) { int inf = 0; input >> inf; para *para_list = new para; para_list->inf = inf; para *p = para_list; while (cin >> inf) { p->ref = new para; p = p->ref; p->inf = inf; } p->ref = NULL; input.clear(0); return para_list; } void print_list(para *para_list) { cout << setw (20) << "Исходный список:" << endl; for (; para_list && para_list->inf; para_list = para_list->ref) { cout << setw(20) << para_list->inf << endl; } } void delete_list(para *para_list) { para *p; while (para_list) { p = para_list; para_list = para_list->ref; delete p; } } int main() { setlocale(LC_ALL, "Russian"); para *para_list = create(cin); print_list(para_list); delete_list(para_list); cin.clear(0); return 0; } |
![]() |
![]() |
![]() |
#2 | |
Заблокирован
Регистрация: 29.11.2016
Сообщений: 215
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.05.2016
Сообщений: 11
|
![]()
дело не в укорочении кода, а в том что возникла проблема с тем, чтобы удалить повторяющиеся элементы.
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 29.11.2016
Сообщений: 215
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 12.05.2016
Сообщений: 11
|
![]()
Задание на работу с Линейными списками, нам не разрешают пользоваться стандартными библиотеками!
Как учат так и пишем! |
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,714
|
![]()
Пройтись по списку, удаляя для каждого очередного значения все последующие повторы как-то так:
Код:
Благими намерениями устлана дорога на programmersforum.ru
Последний раз редактировалось MihalNik; 04.12.2016 в 03:08. |
![]() |
![]() |
![]() |
#7 | |
Заблокирован
Регистрация: 29.11.2016
Сообщений: 215
|
![]()
Плохо учат.
Можете порепетировать вместо вашей простыни вот с таким кодом, например: Код:
Наслаждайтесь. ![]() (здесь точно такая же "работа с Линейными списками") P.S. Я даже прогнал это, чтобы нагляднее (только компилировать это нужно с опциями компилятора совместимости с C++11): Код:
Цитата:
Создайте свою отдельную тему, и пишите о том как надо учить сколько душе угодно. Последний раз редактировалось MihalNik; 04.12.2016 в 17:38. Причина: примечание |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывести только те слова сообщения, которые встречаются в нем ровно один раз С++ | filimoncc | Помощь студентам | 11 | 23.02.2014 19:30 |
Вывод на экран символов, которые встречаются только один раз. | Tsunami | C++ Builder | 1 | 10.04.2011 19:00 |
[C++ Builder 6] Вывод на экран символов, которые встречаются только один раз. | Tsunami | Помощь студентам | 0 | 07.04.2011 09:21 |
Из заданной символьной строки, выбрать те символы, которые встречаются в ней только один раз... | Banny | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.12.2008 06:15 |