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

двусвязный список - функция удаления - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ переделать под использаовние указателей http://www.cyberforum.ru/cpp-beginners/thread143283.html
Здравствуйте, дамы и господа! Задача программы тривиальна и хрестоматийна: Дана матрица a(m,n) из 0 и 1. Найти в ней квадратную подматрицу из одних единиц максимального размера Решил ее следующим путем: #include <iostream> #include <time.h> #include <conio.h> using namespace std; const int inf=100; int mx;
C++ Динамический Массив Попалось вот такое задание на подготовке к экзамену,к сожалению не смог понять как работать с динамическим массивом. Добавить в массив строку,удалить столбец,распечатать,но все это надо сделать через динамический массив. Прошу помощи,заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread143277.html
C++ Нахождение и подсчет глассных
Прошу помощи:задание звучит так.Скопировать из файла 1 в файл 2 строки,которые задаються пользователем,подсчитать количество гласных в этих строчках. Вот написал программу но она считает только гласные в последней строчке и выводит 1 строчку,т.е например вводим с 1 по 4 она 4 раза выведет первую строчку.Очень надеюсь на помощь,заранее спасибо #include "stdafx.h" #include <iostream>...
C++ Правильное освобождение памяти
Здрасти. Двумерный динам. массив: int** matr=new int*; for (int i=0; i<rows; ++i) matr=new int; память правильно так освобождать?: for (int i=0; i<rows; ++i) delete matr;
C++ Поиск разности между максимальным и минимальным значениями массива http://www.cyberforum.ru/cpp-beginners/thread143226.html
Поросил друг,желательно на С++... Дан массив A из 10 значений. Найти разность между максимальным и минимальным значениями массива. Ввод массива и поиск максимального и минимального элементов оформить в виде перегруженной функции.
C++ Указатели и динамические структуры данных Задание 1. Дан указатель P1 на вершину стека (если стек пуст, то P1 = nil). Из- влечь из стека все элементы и вывести их значения. Вывести также коли- чество извлеченных элементов N (для пустого стека вывести 0). После из- влечения элементов из стека освобождать память, которую они занимали. Задание 2 Дано число D и указатели P1 и P2 на начало и конец очереди (если ... подробнее

Показать сообщение отдельно
m9c1k
31 / 6 / 1
Регистрация: 07.06.2010
Сообщений: 75
09.06.2010, 18:32     двусвязный список - функция удаления
Подскажите,где ошибка. Функция удаляет книгу из списка по названию автора...

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
void DeleteBook(List& theList) // функция удаления заданной позиции
{
    char s[80];
    Book* cur = theList.itsFirst;
    Book* cur;
    Book* temp;
    printf( " Enter the auter for deleted Book: \n");
        scanf("%s",&s);
    while (cur != NULL) {
        if(cur->auter < s) {
            if (cur->itsPrev == NULL) { //если удаляем первый элемент
                theList.itsFirst = cur->itsNext;    //первым будет второй элемент в списке
                                theList.itsFirst->itsPrev = NULL;
                free(cur);  //высвободили память
                cur = theList.itsFirst; //перевели указатель на второй элемент
            }else {//если элемент не первый
                temp = cur;
                cur->itsPrev->itsNext = cur->itsNext;   //с предыдущего элемета указали на последующий
                cur->itsNext->itsPrev = cur->itsPrev;   //со следующего элнемента указали на предыдущий
                cur= cur->itsPrev; //текущий будет тот, который стоит перед удаляемым
                free(temp);
                //delete cur;
            }
        } else cur = cur->itsNext;  
    }
}
Добавлено через 1 минуту
Вот структура

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct Book
{
    char itsName[10];
    char auter[10];
    int year;
   
    Book* itsNext; // * itsNext - указатель на последующую структуру
    Book* itsPrev; // * itsPrev - указатель на предыдущую структуру
};
 
struct List
{
     Book* itsFirst;
     Book* itsLast;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru