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

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

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

Списки - C++

06.01.2011, 13:29. Просмотров 324. Ответов 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++
Всем привет!) У меня есть вопрос..как создать два списка? Просто мне нужно из списка В переместить содержимое в список А. Как это сделать и...

C++ списки - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;list&gt; using namespace std; int main(void) { list&lt; int &gt; l,...

списки - C++
написать функцию, удаляющую первый отрицательный элемент списка.

Списки в С++ - C++
#include&lt;iostream.h&gt; #include &quot;time_1.h&quot; #include&lt;time.h&gt; #include&lt;windows.h&gt; char* Rus (const char* text); class List { ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2011, 13:29
Привет! Вот еще темы с ответами:

Списки - C++
Здравствуйте! Помогите пожалуйста с программой.... Надо вывести список поездов , а потом вывести поезда которые отправляются в...

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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