IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Списки, Си++
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 104
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Задание такое:
Кольцевой неоднородный (гетерогенный) список с однородными подсписками из элементов с ключами:
1. Создание (пустого списка).
2. Добавление элемента:
• в начало списка;
• в конец списка;
• после элемента с заданным номером;
• (*) после элемента с заданным ключом.
3. Печать списка (вывод на экран дисплея):
• номер элемента;
• содержимое поля данных;
• (*) содержимое поля ключа;
• значение указателя на следующий элемент;
• (**) значение указателя на предыдущий элемент.
4. Удаление элемента из списка:
• из начала;
• из конца;
• с заданным номером;
• (*) с заданным ключом.
5. Запись списка в файл.
6. Уничтожение списка.
7. Восстановление (чтение) списка из файла.
8. Упорядочение элементов в списке по выбранному признаку:
• используя информацию в поле данных;
• (*) используя информацию в поле ключа.
9. Изображение структуры списка на экране дисплея.

Что-то я вообще не представляю с чего начать... Список - это несколько элементов, в каждом из которых есть ссылка на следующий, верно? В моем задании в последнем элементе должна быть ссылка на первый, так? А как определить, что элемент последний? Брать ограниченное количество элементов или как?
Плюс ко всему - в моем задании один элемент списка должен содержать несколько символов, другой - несколько чисел и т.п., да?
А ключ - это просто нумерация или что-то типа того?


--------------------
go ask Alice
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 104
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Ага, спасибо! Теоретически все понял, а вот с практикой - проблемы... sad.gif
Для начала попытался сделать только добавление...
#include <conio.h>
#include <iostream.h>

class list
{
public: char data;
int key;
list *next;
};

list add()
{ //что сдесь должно быть? Хотя бы примерно...
}

void main()
{
clrscr();

list m;
m.data='A';
m.key=1;
m.next=&m;
cout<<"go6aBuTb e/leMeHT B cnucoK? (y/n)\n";

while (getch()=='y') {
add(m);
cout<<"go6aBuTb e/leMeHT B cnucoK? (y/n)\n";
}
getch();
}


--------------------
go ask Alice
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 18:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name