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

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

Войти
Регистрация
Восстановить пароль
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
#1

Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без - C++

24.04.2014, 14:36. Просмотров 561. Ответов 5
Метки нет (Все метки)

Может быть кто-нибудь решал подобную задачу?

Написать и протестировать функции для включения, исключения и поиска элемента кругового списка для:
а) списка без заголовка;
б) списка с заголовком (заголовок может содержать некоторую информацию о списке, например, число элементов в списке).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 14:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без (C++):

"Сортировка двусвязного списка путем исключения элемента с минимальным значением и включения его в начало нового списка - C++
Здравствуйте! Возникла проблема с программой. Тема: "Сортировка двусвязного списка путем исключения элемента с минимальным значением и...

В программе написать функции: вставки элемента, поиска максимального элемента, определения среднего арифметического элементов массива - C++
В целочисленном массиве Х(N) после каждого четного числа вставить максимальный элемент массива. Найти среднее арифметическое элементов ...

Написать функцию поиска минимального элемента списка по одному из выбранных полей - C++
FindMin – функция поиска минимального элемента списка по одному из выбранных полей. написать функцию

написать программу перезагрузки функции поиска минимального элемента в массиве. элементы массива могут быть вещественные и целые. - C++
написать программу перезагрузки функции поиска минимального элемента в массиве. элементы массива могут быть вещественные и целые. ...

Написать функцию для поиска максимального элемента в указанной строке матрицы - C++
Всем добрый вечер! Есть задание к лабораторной работе Написать функцию, для поиска максимального элемента в указанной строке двумерного...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
24.04.2014, 14:42 #2
avatar1870, в чем затруднения? Я понимаю суть задачи, а что именно интересует?
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
24.04.2014, 14:49  [ТС] #3
Может быть у кого-нибудь есть код, потому что сам я не понимаю и не представляю, что вообще можно написать(
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
24.04.2014, 14:57 #4
avatar1870,
C++
1
2
3
4
5
6
7
8
struct element
{
    element(int v) : value(v), next(NULL) { }
    int value; //Место для хранения данных, в нашем случае числа
    element *next; //Указатель на следующий элемент
};
 
element *head;
Вот примерно так выглядит начало. Структура описывает элемент списка, каждый элемент имеет указатель на следующий по списку элемент. Процесс добавления происходит путем изменения вот этих самых указателей.
Дальше справитесь или вы со списками ни разу еще не работали?
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
24.04.2014, 20:10  [ТС] #5
Вообще никогда, к сожалению(
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
26.04.2014, 11:40  [ТС] #6
Можете подсказать, подойдёт такой код?

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
78
79
80
81
// lab_20_the_end.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
struct  Node
 {
   int x;
   Node *Next;
 };
 
 class List
 {
      Node *Head,*Tail; //Первый элемент и тот что последний
      int size; //Число элементов в списке
  public:
      List():Head(NULL),Tail(NULL),size(0){}; //Инициализация элементов в ноль с помощью конструктора
     ~List(); //Деструктор для освобождения памяти
      void Add(int x); //Функция добавления элементов в списов
      void Show(int size); //Функция отображения элементов списка
      int Count(); //Функция возвращающая число элементов в списке
};
 
List::~List()
 {
   while (size!=0) //Пока размерность списка не станет нулевой 
    {
     Node *temp=Head->Next;    
     delete Head; //Освобождаем память от активного элемента
     Head=temp; //Смена адреса начала на адрес следующего элемента
     size--; //Один элемент освобожден. корректируем число элементов
    }
 }
 
int List::Count()
 {
   return size; //Возвращаем число элементов списка
 }
 
void List::Add(int x)
{
 size++; //При каждом добавлении элемента увеличиваем число элементов в списке
 Node  *temp=new Node; //Выделение памяти для нового элемента списка
 temp->Next=Head; //Замыкание контура. Последний элемент - это начало списка 
 temp->x=x; //Записываем в выделенную ячейку памяти значение x 
 
if (Head!=NULL) //В том случае если список не пустой
 {
  Tail->Next=temp; //Запись данных в следующее за последним элементом поле
  Tail=temp; //Последний активный элемент=только что созданный.
 }
else Head=Tail=temp;//Если список пуст то создается первый элемент.
} 
 
void List::Show(int temp)
 {
    Node *tempHead=Head; //Указываем на голову
 
    temp=size; //Временная переменная равная числу элементов в списке
   while (temp!=0) //Пока не выполнен признак прохода по всему списку
    {
      cout<<tempHead-> x<<" "; //Очередной элемент списка на экран 
      tempHead=tempHead->Next; //Указываем, что нужен следующий элемент
      temp--; //Один элемент считан, значит осталось на один меньше 
    }
 }
 
void main()
{
 system("CLS");   
  List lst;
   lst.Add(100);
   lst.Add(200);
   lst.Add(300);
 
  lst.Show(lst.Count()); //Показываем список на экране.
 cout<<endl;
 system("PAUSE");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2014, 11:40
Привет! Вот еще темы с ответами:

Написать шаблон функции для поиска среднего арифметического массива - C++
Написать шаблон функции для поиска среднего арифметического значений массива

Написать шаблон функции для поиска среднего арифметического значений массива - C++
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; template &lt;typename T&gt; int arifm( T mas, int size) { int...

Написать шаблон функции для поиска среднего арифметического значений массива - C++
Кто знает как решить задачу на С++, при помощи шаблонов функций? Написать шаблон функции для поиска среднего арифметического значений ...

Используя прототип функции написать программу для нахождения максимального элемента - C++
Добрый вечер. Помогите решить задачку. Заранее благодарен!!! Используя прототип функции написать программу для нахождения...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.04.2014, 11:40
Ответ Создать тему
Опции темы

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