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

Проблема с классом для линейного списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ работа с файлами http://www.cyberforum.ru/cpp-beginners/thread129929.html
Помогите пожалуйста. Нужно составить программу, которая читает текстовый файл и в каждой строке все слова размещает в алфавитном порядке. Язык Си(консольная). Примечания: 1. Имя файла, который подлежит обработке, должно быть параметром программы. 2. Файл должен иметь не менее 10-15 строк текста. 3. Допускается ограничить максимальную длину строки в тексте 80 символами. 4....
C++ Проверить, каких букв больше: гласных или согласных Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных. http://www.cyberforum.ru/cpp-beginners/thread129926.html
Кодировщик C++
Очень срочно нада Работа с стоками Кодировщик. Написать программу, перекодирующую строку в кодировке KOI в строку в кодировке Windows-1251 и обратно.
Сравнение символов C++
#include <iostream> using namespace std; int main() { char t = "ab"; char j = "ac"; if(t > j)cout << 5; return 0;
C++ Посчитать количество букв в строке http://www.cyberforum.ru/cpp-beginners/thread129913.html
Помогите пожалуйста начинающиму.... Условие задачи: "Необходимо ввести с клавиатуры строку и посчитать количество букв в введеной строке.
C++ Составить программу для нахождения максимального из 4 чисел Составить программу для нахождения максимального из 4 чисел.Используя функцию нахождения максимального подробнее

Показать сообщение отдельно
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
15.05.2010, 18:09     Проблема с классом для линейного списка
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
 bool list::remove(value_type key)
 {
         if(Node *pkey=find(key))
         {
                 if(pkey==pbeg)
                 {
                         pbeg=pbeg->next; //вот тут pbeg вполне может стать 0
                         pbeg->prev=0;//тогда тут выпадет AV
                 }
                 else if(pkey==pend) //ты пропустил случай pkey==pbeg==pend
                 {
                         pend=pend->prev; //вот тут pend вполне может стать 0
                         pend->next=0;//тогда тут выпадет AV
                 }
                 else
                 {
                         (pkey->prev)->next=pkey->prev;//тут тоже будет AV если pkey->prev==0
                         (pkey->next)->prev=pkey->prev;//а тут если pkey->next==0
                 }
                 delete pkey;//здесь ты освободил pkey, если у тебя ещё где-то есть на него указатели, то они больше не валидны
                 return true;
         }
         return false;
 }
ты всё ещё думаешь этот метод корректен?
 
Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru