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

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

Войти
Регистрация
Восстановить пароль
 
Litta
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 48
#1

.....ОШИБКА при УДАЛЕНИИ..... - C++

24.05.2010, 23:00. Просмотров 394. Ответов 0
Метки нет (Все метки)

Всем здравствуйте)))....Написала код по удалению элемента из линейного однонаправленного списка:..ошибок нет, а программа зависает..
Помогите, пожайлуста, найти ошибку дозавтра !..(очень хочется решить)

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
void shop::cut()
{
    shop *q;
    shop *z,*e;
    int key;
 
    cout << "\n vvedite key "; //пусть ключом будет номер магазина
    cin >> key; //введём номер магазина, который хотим удалить из списка
 
    q=p;   //запомним адрес в текущем указателе; shop*p- адрес начала списка
 
    while(q!=NULL&&q->b!=key) //пока не конец списка, и наш ключ не совпадает с номером магазина
    {//проверяем условия
       if(q->b==key) // исли наш ключ совпал с номером магазина
 
         {
        if(q==p) //если удаляемый элемент 1-й в списке
          {e=q;  //обозначаем на него указатель е
           q=z;  // q  указывает на z
           p=z; //делаем, чтобы p указывал на z
           delete q;return;}
 
        else if(q==NULL)//если удаляемый элемент последний в списке
          {e=q;
           e=NULL;
           delete q;return;}
 
        else//если удаляемый элемент в середине списка
          {e=q;
          q=z;
          delete q;  }
 
           q=q->next;//перемещаем указатель
 
           }
 
   };
 
 
   };
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 23:00     .....ОШИБКА при УДАЛЕНИИ.....
Посмотрите здесь:

Ошибка при удалении єлемента из однонаправленного списка C++
C++ Ошибка при удалении в базе данных.
C++ Ошибка при удалении массива с помощью delete
Ошибка при удалении динамического массива C++
Ошибка при удалении динамически выделенной памяти C++
Ошибка при удалении явно заданного указателя C++
Ошибка при удалении массива C++
C++ Ошибка при удалении динамического массива
Ошибка с0000005 при удалении класса-матрицы C++
C++ Ошибка при удалении динамического массива
C++ Ошибка при удалении значения списка
C++ Ошибка при удалении из односвязного списка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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