Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Удаление повторяющихся элементов из списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Visual C++ 2012. Консоль. scanf(). Обработка ошибок ввода http://www.cyberforum.ru/cpp-beginners/thread914283.html
Я использую процедуру scanf() для ввода даты через точку (типа 01.01.2000). Мне надо сделать так, чтобы обрабатывались ошибки при вводе (типа 01а2.01.2000), чтобы тогда прога просила ввести дату...
C++ Дана вещественная квадратная матрица Дана вещественная квадратная матрица. Определить: 1. произведение элементов в тех строках, которые не содержат отрицательных элементов 3. максимум среди элементов диагонали 3. разделить все... http://www.cyberforum.ru/cpp-beginners/thread914280.html
Символьные строки (замена строчных на прописные и на оборот) C++
Как решить задачу. Например в водим cYbErFoRuM,а выведит CyBeRfOrUm то есть меняет строчные на прописные и на оборот.... подскажите как это сделать.
C++ Привести матрицу к треугольному виду
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых преобразований привести систему к треугольному виду. Найти кол-во строк, среднее арифметическое...
C++ Замена printf на cout http://www.cyberforum.ru/cpp-beginners/thread914242.html
Ув. коллеги, Можно ли заменить printf на cout в последнем выражении тернарного оператора (строка 13) без создания новой функции? #include <iostream> using namespace std; int f1(int n);...
C++ Сумма книг Предположим, что вы продаете книгу по программированию на языке C++ для начинающих. Напишите программу, которая позволит ввести ежемесячные объемы продаж в течение года (в количестве книг, а не в... подробнее

Показать сообщение отдельно
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
29.06.2013, 21:17
Ну, можно тогда с примера: дано 1231.
Этот кусок Вашего кода вначале удаляет последнюю единицу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if(p->value == t->next->value)
            {
                d=t->next->value; // запоминаем указатель на эту 1
                u=head; // запоминаем указатель на голову, т.е. на ту же 1
                if(u->value==d) // странное сравнение, но пока совпадает
                { 
                    u=head;  // зачем-то опять запоминаем указатель на 
                                                     // голову, хотя сделали это выше
                    head=head->next; // переходим на след., то есть в данном примере на 3
                    delete u; // удаляем узел, содержащий единицу
                }  
                while(u->next!=NULL) // u теперь ни на что не указывает <- ошибка
                {
                    if(u->next->value==d) // error
                    {
                        q=u->next; // ит.д.
                        u->next=u->next->next;
                        delete q;
                    }
                    else 
                        u=u->next;    
                }    
            }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru