Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 19.09.2017
Сообщений: 6

Класс для работы с односвязным списком

20.03.2019, 21:35. Показов 2572. Ответов 2

Студворк — интернет-сервис помощи студентам
Построить класс для работы с односвязным списком. Создать
два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в указанном списком List1 порядке.

Не могу реализовать проверку
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
82
83
84
85
86
87
#include<iostream>
#include<Windows.h>
#include<string>
#include<list>
#include <set>
#include <algorithm>
using namespace std;
 
struct element
{
    int id;//pole dannih
    struct element *sled;//yakazatel na sled el
}L1;
struct elsp
{
    int value;
    struct elsp *next;
}L2;
class List
{
    element *Head;//golova spiska
public:
    List() { Head = NULL; }//konstuctor and inisializasia ykazately pystim znach
    ~List();//distructor prototip
    void Add(int id);
    void Show();
    void FindClone();
    
};
 
List::~List()
{
    while (Head != NULL)//poka po adresy ne pusto
    {
        element *temp = Head->sled;//vreminnoe hranenie adressa sled el
        delete Head;  //osvobozdenie adresa nahala
        Head = temp;  //minyen adres na sled
    }
}
 
void List::Add(int id)
{
    element *temp = new element;//При каждом вызове выделяется память
    temp->id = id;       //Записываем id в элемент структуры  element (в id структуры element)
    temp->sled = Head;   //Указываем, что след. элемент это объект по адресу Head
    Head = temp;         //Указываем, что последний активный элемент это только что введенный
}
 
void List::Show()       //Функция отображения списка на экране
{
    element *temp = Head;//Определяем указатель, который изначально он равен адресу начала списка
    while (temp != NULL)//До тех пор пока не встретит пустое значение
    {
        cout << temp->id << " ";//Выведет элемент x из списка
        temp = temp->sled;      //Указываем, что далее нам нужен следующий элемент
    }
}
 
int main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int a=0, i=0, j=0;
    int N, N1;//chislo el spiska
    int el, el1;//elements vvodimie v spisok
    List lst, list;
    cout << "Введите длину 1-го списка/enter the length of the 1st lists:";
    cin >> N;
    for (int i = 0; i < N; i++)
    {
        cout << i + 1 << ".x= ";
        cin >> el;
        lst.Add(el);
    }
    cout << "Введите длину 2-го списка/enter the length of the 2nd lists:";
    cin >> N1;
    for (int i = 0; i < N1; i++)
    {
        cout << i + 1 << ".x= ";
        cin >> el1;
        list.Add(el1);
    }
    bool pr = false;
    
    system("pause");
    
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2019, 21:35
Ответы с готовыми решениями:

Построить класс для работы с односвязным списком
Построить класс для работы с односвязным списком. Элемент списка – действительное число. Сформировать список, содержащий неубывающую...

Построить класс для работы с односвязным списком
Построить класс для работы с односвязным списком. Элементы списка – действительные числа. Создать два упорядоченных по возрастанию списка,...

Построить класс для работы с односвязным списком
При решении задач необходимо, без использования STL, описать класс, который используется для представления элементов а) массива с...

2
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
21.03.2019, 01:53
Я там ещё кое-чего по мелочи подправил.
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
82
83
84
85
86
87
#include<iostream>
#include<Windows.h>
 
using namespace std;
 
struct element {
    int id;//pole dannih
    struct element *sled;//yakazatel na sled el
};
 
class List {
    element *Head;//golova spiska
public:
    List() { Head = NULL; }//konstuctor and inisializasia ykazately pystim znach
    ~List();//distructor prototip
    void Add(int id);
    void Show() const;
    bool FindClone(const List &list) const;
 
};
 
List::~List() {
    while (Head != NULL)//poka po adresy ne pusto
    {
        element *temp = Head->sled;//vreminnoe hranenie adressa sled el
        delete Head;  //osvobozdenie adresa nahala
        Head = temp;  //minyen adres na sled
    }
}
 
void List::Add(int id) {
    element *temp = new element;//При каждом вызове выделяется память
    temp->id = id;       //Записываем id в элемент структуры  element (в id структуры element)
    temp->sled = Head;   //Указываем, что след. элемент это объект по адресу Head
    Head = temp;         //Указываем, что последний активный элемент это только что введенный
}
 
void List::Show() const      //Функция отображения списка на экране
{
    element *temp = Head;//Определяем указатель, который изначально он равен адресу начала списка
    while (temp != NULL)//До тех пор пока не встретит пустое значение
    {
        cout << temp->id << " ";//Выведет элемент x из списка
        temp = temp->sled;      //Указываем, что далее нам нужен следующий элемент
    }
}
 
bool List::FindClone(const List &list) const {
    element *el = Head;
    element *elarg = list.Head;
 
    while (el && elarg) {
        if (el->id == elarg->id) {
            elarg = elarg->sled;
        }
        el = el->sled;
    }
    return elarg == NULL;
}
 
int main() {
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int a = 0, i = 0, j = 0;
    int N, N1;//chislo el spiska
    int el, el1;//elements vvodimie v spisok
    List lst, list;
    cout << "Введите длину 1-го списка/enter the length of the 1st lists:";
    cin >> N;
    for (int i = 0; i < N; i++) {
        cout << i + 1 << ".x= ";
        cin >> el;
        lst.Add(el);
    }
    cout << "Введите длину 2-го списка/enter the length of the 2nd lists:";
    cin >> N1;
    for (int i = 0; i < N1; i++) {
        cout << i + 1 << ".x= ";
        cin >> el1;
        list.Add(el1);
    }
    
    cout << "Список 2 " << (list.FindClone(lst) ? "" : "НЕ " ) << "содержится в списке 1" << endl;
 
    system("pause");
 
}
2
0 / 0 / 0
Регистрация: 19.09.2017
Сообщений: 6
21.03.2019, 15:27  [ТС]
Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2019, 15:27
Помогаю со студенческими работами здесь

Построить класс для работы с односвязным списком
Доброго времени суток, очень давно не обращался на ваш форум и вот снова прошу помощи. Построить класс для работы с односвязным...

Построить класс для работы с односвязным списком
Построить класс для работы с односвязным списком. Элементы списка – слова. Создать список, содержащий некоторую последовательность слов....

Построить класс для работы с односвязным списком
Построить класс для работы с односвязным списком.Элементы списка действительные числа.Создать два упорядочных по возрастанию списка,слить...

Разработать класс с набором функций для управления односвязным списком
Добрый день, форумчане! Обращаюсь к вам с просьбой, с чего начать мне выполнение данного задания, какие элементы использовать. Или хотя...

Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в у
Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru