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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Malin Klein
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 18
#1

Ошибка!!! - C++

07.06.2011, 20:54. Просмотров 301. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
List DeleteKey(List p, int  x)//удаление по ключу
{
List q, a=p;
/* while(p->key ==  x)
{
q = p;
a=p=p->next;
delete q;
} */
while (p && p->next)
{
if (p->next->key ==  x)
{
List q = p->next;
p->next = q->next;
delete q;
 
}
else p = p->next;
}
return a;
}

Второй цикл неправильно ответ выводит...там пятерок не должно быть при удалении 5. Первый цикл делает удаление а второй нет...надо чтобы во втором проверял первый элемент и удалял. проверьте пожалуйста и исправьте ошибку

Добавлено через 29 минут
Срочнооооооооооооооооооооооооооооооооооо!!!!!!!!!!!!!!!!!!!!!!!!

Добавлено через 1 час 15 минут
=((((((((((((((((((((((

 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка!!! (C++):

Ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске программы возникает ошибка - C++
Я знаю точно, что ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске моей программы windows выдает ошибку. Почему ?...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка - C++
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include <iostream> #include...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка " undefined reference to `MeterNZiF::MeterNZiF()' " на 7 строку приложения. ...

Укажите где ошибка (ошибка во время выполнения программы) - C++
Здравствуйте, помогите пожалуйста найти ошибки в коде которые возникаю при выполнении программы Картинка с ошибкой внизу поста. Код: ...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка? - C++
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и вывести наименование товара, цена которого...

Ошибка 2 error LNK2019, не пойму в чем ошибка - C++
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl game(void)" (?game@@YAHXZ) в функции....

4
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
07.06.2011, 20:59 #2
В цикле удалять первый элемент не получится, изменение головного элемента требует особого отношения. Поэтому иногда вводят ненужный элемент в начало списка.
Да и вообще, чтобы удалить первый элемент функция должна вернуть в вызывающую программу изменённый p. Я правильно понял, что p это указатель на элемент массива и сам указатель передаётся по значению?
1
Malin Klein
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 18
08.06.2011, 18:37  [ТС] #3
Да,так и есть..

Добавлено через 54 секунды
Меня препод уже достал. я этот линейный односвязный список 4-ую пару сдаю...достал уже.
0
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
08.06.2011, 20:51 #4
А что возвращает эта функция? Если указатель на начало изменённого списка, то функция действительно может удалить первый элемент, но всё-равно не в цикле, а после, перед возвратом значения.

Добавлено через 6 минут
Как-то так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
List DeleteKey(List p, int  x)//удаление по ключу
{
    List a = p;
    while (p && p->next)
    {
        if (p->next->key ==  x)
        {
            List q = p->next;
            p->next = q->next;
            delete q;
 
        }
        else p = p->next;
    }
    if (a && a->key == x)
    {
        p = a;
        a = a->next;
        delete p;
    }
    return a;
}
1
Malin Klein
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 18
18.06.2011, 18:19  [ТС] #5
Ура,я сдала ее=) сама сделала,спасибо Вам=)
0
18.06.2011, 18:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2011, 18:19
Привет! Вот еще темы с ответами:

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

типизированный файл, ошибка ошибка при выходе - C++
Работа с типизированным файлом. В функцию вывода добавляю проверку if для вывода персонала только 1 подразделения. Выводит на 1 элемент...

С++ ошибка в проге, но не могу понять какая ошибка( - C++
#include <iostream> #include <cmath> #include <clocale> using namespace std; int main (int args, const char * argv ) { ...

Синтаксическая ошибка: Ошибка 1 error C2059 - C++
#include <iostream> using namespace std; class Cat { public:


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.