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

Не могу понять в чем ошибка: реализация односвязного списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция, определяющая достижение начала файла: есть ли такая? http://www.cyberforum.ru/cpp-beginners/thread160173.html
Собственно мне нужна функция, проверяющая достижение начала файла, типа feof только наоборот. Гуглил, ничего не нашел =(
C++ Есть исходники браузера? Есть у кого-нибудь исходники браузера? П.С.Администрации сделайте в каждом разделе форума чат, примерно для таких вопросов. Добавлено через 6 минут П.С. Исходники нужны на чистом Си http://www.cyberforum.ru/cpp-beginners/thread160161.html
Вычислить произведение ряда C++
Господа,нужна помощь. Кому не лень,не трудно,помогите чем могите. Собственно вот: Блок А 1. В области 12 районов. Известны количество жителей каждого района ( в тысячах человек) и плотность населения в нем ( тыс. чел./ км2). Определить общую площадь территории области. (задачи без использования массивов). 2. Дан массив целых чисел (n=12), заполненный случайным образом числами из...
C++ Непонятная операция
Всем доброго времени суток! Помогите разобраться, ранее не встречал: Есть enum Sute {clubs,diamonds,hearts,spades} в main() мы создаем колоду карт и заполняем. Так вот при заполнении в цикле есть такая операция: Suit su = Suit(j/13); С левой частью все ясно, а вот с правой не очень. Почему мы не работаем с объектом Suit, а как-то напрямую это делаем...вообще не ясно.
C++ Закрывается программа http://www.cyberforum.ru/cpp-beginners/thread160092.html
После запуска откомпилированной программы я её запускаю и окно программы сразу закрывается (пользуюсь компилятором Code::Blocks) как можно это исправить
C++ Вопрос насчёт рекурсии в цикле Здравствуйте. У меня вопрос насчёт рекурсии в цикле. Вот пример: int massiv={1,2,3}; int heapPermute(int n){ cout <<"В начале n=" <<n <<' '; int temp=0; int razmer = sizeof(massiv)/sizeof(int); if(n==0) { for(int i=0; i<razmer; i++) { if(i==0) {cout <<endl; } cout <<massiv <<' '; } } else { подробнее

Показать сообщение отдельно
bobromet
24 / 24 / 1
Регистрация: 06.03.2010
Сообщений: 59
19.08.2010, 21:03     Не могу понять в чем ошибка: реализация односвязного списка
Если не трудно, глянте на прогу, я знаю что есть грабли на которые я наступлю и именно на контрольной.
Почему в методе insert если удалить поинтер выдается ошибка?

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
struct Stack
{
    Stack *last;
    int data;
};
 
void insert(Stack *&st, int num)
{
    Stack *ptr = new Stack;
    ptr->data = num;
    ptr->last = st;
    st = ptr;
    //delete ptr;    выдает ошибку
}
 
void view(Stack *st)
{
    if(st == NULL)
        cout << "\nStack is empty\n";
    
    Stack *ptr = st;
    while(ptr != NULL)
    {
        cout << ptr->data << " ";
        ptr = ptr->last;
    }   
    cout << endl;
    delete ptr;
}
 
void clear(Stack *&st)
{   
    Stack *ptr = st;    
    while(ptr != NULL)
    {
        st = st->last;
        delete ptr;
        ptr = st;
    }
    delete ptr;
}
 
void main()
{
    Stack * p1 = NULL;
    Stack * p2 = NULL;
    int a = 3, b = 5;
 
    for(int i = 0; i < 6; i++)
    {
        insert(p1, a);
        insert(p2, b);
        a++;
        b += a;
    }
    view(p1);
    view(p2);
    clear(p1);
    view(p1);
    view(p2);
}
siger, что имеется в виду в твоей задачке, нужно добавить в структуру новую переменную которая показывает на следующее звено и потом начать считывать с первой ячейки, чтобы получилось
1 2 3 4 5 6 7 8 9 10
или считать обычным методом(сверху -> вниз), записать в массив а потом прогнать задом-наперед?
Я подозреваю что такое задание тоже может быть.
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru