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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
masha1207
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 108
#1

Списки - C++

06.01.2011, 13:29. Просмотров 316. Ответов 0
Метки нет (Все метки)

Здравствуйте) Нужно решить задачу по спискам!) Буду ждать помощь)))


Уже ранее созданные функции: (сделать ко всему этому меню, по заданию)

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
void postroenie (node **phead)
// *phead - указатель на заглавное звено.
{
    node *t;
    int el;
    // Создается заглавное звено 
    *phead = new (node);
    t = *phead; (*t).sled = NULL;
    cout <<"Введите элементы звеньев списка: ";
    cin>>el;
    while (el!=0)
    { 
      (*t).sled = new (node); t = (*t).sled; 
      (*t).elem = el; (*t).sled = NULL; 
      cin>>el;
    }
}
 
void del (node **phead)
//Удаление однонаправленного списка из памяти. 
// *phead - указатель на заглавное звено списка.
{
  struct node *q,*q1; // Рабочие указатели.
  q = *phead;
  q1 = (*q).sled; // Указатель q1 "опережает" указатель q.
  while (q1!=NULL)
  { q = q1; q1 = (*q1).sled; delete q;}
  delete *phead; //Удаление заглавного звена.
}
 
//Вывод содержимого списка
void display ()
{
  node *t;
  t = (*phead).sled; 
  cout<<"Список: ";
  while (t!=NULL)
  { 
    cout<<(*t).elem<<" "; 
    t = (*t).sled;
  }
  cout<<endl;
} 
 
//Поиск адреса звена с заданным информационным полем 
void find_element (node **phead,int el, node **Res)
{
   node *t;
  *Res = NULL;
  t = *phead; t = (*t).sled;
  while (t!=NULL && *Res==NULL)
      if ((*t).elem==el) *Res = t; else t = (*t).sled;
}
 
//Пример включения звена:
void insert_element (node **Res, int el)
{
  node *q;
  q = new (node);
  (*q).elem = el; (*q).sled = (**Res).sled;
  (**Res).sled = q;
}
 
//Пример функции удаления элемента из списка:
void delete_element (node **phead, node **Res)
{
  node *q,*q1,*q2;
  q = (**Res).sled;
  if (q!=NULL)
  { (**Res).elem = (*q).elem; (**Res).sled = (*q).sled;delete q; }
  else
  { q1 = *phead; q2 = (*q1).sled;
    while (q2!=*Res) 
        { q1 = q2; q2 = (*q2).sled; } 
    (*q1).sled = NULL; q2 = NULL; delete *Res;
  }
}
Создать приложение со следующим функционалом:
 Приложение предназначено для создания и редактирования однонаправленных списков;
 Выбор операции над списком производится пользователем в режиме меню.
 Ввод параметров производится с клавиатуры.

Порядок выполнения лабораторной работы
Вывести приглашение пользователю на ввод выбор операции над списком:
1) создание нового списка;
2) добавление нового звена в список;
3) удаление звена из списка;
4) удаление списка;
5) выход.
При выборе первого пункта вывести приглашение на ввод количе-ства элементов списка. Вывести приглашение на ввод значений эле-ментов. Сохранить введенные данные в переменные типа «структура». Вывести содержимое списка на экран.
При выборе второго пункта вывести приглашение на ввод инфор-мационного поля нового элемента, а также информационного поля звена, после которого нужно вставить новое звено. При помощи функ-ции «поиск» найти ссылку на элемент, после которого требуется встав-ка. Создать новое звено. Вывести содержимое списка на экран.
При выборе третьего пункта вывести приглашение на ввод элемен-та звена списка, которое нужно удалить. При помощи функции «поиск» найти ссылку на звено. Произвести удаление звена. Вывести содержи-мое списка на экран.
При выборе четвертого пункта меню осуществить очистку памяти.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2011, 13:29     Списки
Посмотрите здесь:

Списки C++ - C++
Уважаемые! Препод задал написать линейный, линейный дважды связанный и линейный цикличный списки с любым количеством элементов для каждого....

Списки в С++ - C++
С(40) Создать класс в котором нужно подсчитать минимальный елемент массива С і его номер. Заранее благодарю!!! вот я накинул, но она не...

Списки!!! - C++
Помогите ПЛИЗЗЗ!!! И если можно добавьте комментарии к каждой строке!!!:) Добавить новый элемент после заданного; элемент задан...

списки - C++
напишите теорию о списках

Списки - C++
Помогите пожалуйста решить задачу. Сформировать однонаправленный список целых чисел. Описать функцию, которая: 1) определяет, является ли...

списки - C++
Организуйте помещение вводимых чисел в список, так чтобы получился список, упорядоченный по возрастанию помогите,пожалуйста,прошу...

Списки - C++
Работа со списками( объединение, удаление, вставка и.т.п). при запуске выдает ошибки. :-| устала уже с ней( С++, Builder 6 ...

Списки - C++
Помогите пожалуйста с задачей: В списке L найти такой элемент &quot;y&quot; (если существует), что &quot;y&quot; больше всех предыдущих и меньше всех...

Списки - C++
Даны 2 списка( из файлов) в третий список поместить те элементы из списка 1, для которых в списке 2 найдутся меньшие элементы! Прошу помочь...

Списки - C++
Доброго времени суток. Прошу помощи с задачей на списки. Определить входит ли список L1 в список L2. Рабочая версия программы...

списки С++ - C++
необходимо создать очередь(итеративный метод) с постановкой эл-ов в начало списка помогите плизз!!!! заранее спасибо:)

Списки - C++
помогите пожалуйста решить задачу! сформировать список из натуральных чисел. Найти среднее арифмитическое элементов списка и выяснить,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru