bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [197]
Бухучет [16]
ВМиМОвЭ [4]
ОДМиТА [13]
ОЛОБД [17]
ООПиП [67]
ОС [19]
ПСОД [47]
Форма входа
Поиск
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Файловый архив
Файлы » ИСиТвЭ » Другое

ОП
Подробности о скачивании 16.12.2009, 17:08
#include <stdio.h>

#include <conio.h>

#include <iostream>

#define MAX 10

using namespace std;

void main()

{

/* очистка экрана */

/* описание элемента списка */

struct inv{

/* указатель на предыдущий элемент списка */

inv * prev;

int dig;

/* указатель на последующий элемент списка */

inv * next;

};

/* объявление списка */

inv a[MAX];

/* указатель на первый элемент списка */

inv *start;

/* указатель на последний элемент списка */

inv *last;

/* указатель на текущий элемент списка */

inv *current;

/* ввод элементов списка */

for(int i=0;i<MAX;i++)

{

cout << "enter element of list #" <<i+1<<"\n";
cin >> a[i].dig;

}

/* для первого элемента предыдущим будет последний, а следующим второй */

a[0].prev=&a[MAX-1];

a[0].next=&a[1];

/* для каждого из элементов между первым и последним предыдущим и последующим будет предыдущий и последующий соответственно */

for(i=1;i<MAX-1;i++)

{

a[i].prev=&a[i-1];

a[i].next=&a[i+1];

}

/* для последнего элемента следующим будет первый */

a[MAX-1].prev=&a[MAX-2];

a[MAX-1].next=&a[0];

/* далее идет вывод на экран всех элементов списка начиная с первого и заканчивая последним, а затем наоборот */

start=&a[0];

last=&a[MAX-1];

current=start;

cout << "real list:\n";
for(i=0;i<MAX;i++)

{

cout << current->dig <<" ";

current=current->next;

}

cout << "\n";

current=last;

cout << "reversed list:\n";

for(i=MAX;i>0;i--)

{

cout << current->dig <<" ";

current=current->prev;

}
cout << "\n"

}

Категория: Другое | Добавил: super___man
Просмотров: 1016 | Загрузок: 12
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]