Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2016, 11:31   #1
alexinn2007
 
Регистрация: 12.12.2016
Сообщений: 5
По умолчанию Двусвязный список

Подскажите в чем ошибка, почему не выводит элементы списка в обратном порядке (выводит только один элемент)
Код:
#include <fstream> 
#include <iostream> 
#include <cstdlib> 
struct Elem 
{ 
int data; 
Elem *next; 
Elem *prev; 
} ; 
int main() 
{ 
int a; 

Elem *head = NULL; Elem *tail = NULL; 
printf("Введите значение элемента списка: "); 
scanf("%i",&a); 
while (a!=0) 
{ 
Elem *newElem = (Elem*)malloc (sizeof(Elem)); 
newElem -> next = head; 
newElem -> prev = NULL; 
newElem -> data = a; 
head = newElem; 
if ( ! tail ) tail = head; 
printf("Введите значение элемента списка: "); 
scanf("%i",&a); 
} 
printf("Элементы списка в прямом порядке:"); 
printf("\n"); 
Elem *cur = head; 
while (cur != NULL) 
{ 
printf("%d ",cur -> data); 
cur = cur -> next; 
} 
printf("\n"); 
printf("Элементы списка в обратном порядке:"); 
printf("\n"); 
cur = tail; 
while (cur) 
{ 
printf("%d ",cur -> data); 
cur = cur -> prev; 
} 
printf("\n"); 
system("PAUSE"); 
return 0; 
}

Последний раз редактировалось Аватар; 12.12.2016 в 12:24.
alexinn2007 вне форума Ответить с цитированием
Старый 12.12.2016, 11:46   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

5.jpg
ura_111 вне форума Ответить с цитированием
Старый 12.12.2016, 11:50   #3
alexinn2007
 
Регистрация: 12.12.2016
Сообщений: 5
По умолчанию

Спасибо за ответ. Но почему Null? Что не верно?
alexinn2007 вне форума Ответить с цитированием
Старый 12.12.2016, 11:58   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ты никак (нигде) не определяешь "prev" (а зачем эта ссылка нужна вообще тогда?). Проанализируй (обрати внимание на "next" и "prev"):

6.jpg
ura_111 вне форума Ответить с цитированием
Старый 12.12.2016, 12:00   #5
alexinn2007
 
Регистрация: 12.12.2016
Сообщений: 5
По умолчанию

Спасибо. Попробую разобраться
alexinn2007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двусвязный список (C++) Ferodot Помощь студентам 0 22.04.2014 22:14
Двусвязный список zais Общие вопросы C/C++ 3 20.11.2011 08:40
c++ двусвязный список world12_tk Помощь студентам 1 15.10.2011 12:36
Двусвязный список Даsha Помощь студентам 3 26.06.2011 11:45
Двусвязный список narcot Visual C++ 13 28.05.2011 21:12