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

Вывести в очереди повторяющиеся значения

25.02.2022, 11:15. Показов 705. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите дописать, понимаю что с bool надо делать, но как реализовать не очень
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include "pch.h"
#include <iostream>
#include <Windows.h>
using namespace std;
 
struct Single_List {
    int Data; //информационное поле
    Single_List* Next; //адресное поле
};
 
Single_List* Head;
Single_List* Current;
 
void Make_Single_List(int n, Single_List*& Head) //заполнение списка
{
    if (n > 0) {
        Head = new Single_List();
        cout << "Введите число: ";
        cin >> Head->Data;
        Head->Next = NULL;
        Make_Single_List(n - 1, (Head->Next));
    }
}
 
 
void Output_Single_List(Single_List* Head)
{
    Single_List* ptr;
    ptr = Head;
    while (ptr != NULL) {
        cout << ptr->Data << "  ";
        ptr = ptr->Next;
    }
    cout << endl;
}
 
 
 
/*вставка элемента с заданным номером в однонаправленный список*/
void Insert_Item_Single_List(Single_List*& Head, int Number, int DataItem)
{
    Number--;
    Single_List* NewItem = new Single_List;
    NewItem->Data = DataItem;
    NewItem->Next = NULL;
    if (Head == NULL) {//список пуст
        Head = NewItem;//создаем первый элемент списка
    }
    else {//список не пуст
        Current = Head;
 
        //вставляем новый элемент на непервое место
        for (int i = 1; i < Number && Current->Next != NULL; i++) {
            Current = Current->Next;
        }
        if (Number <= 0) {
            //вставляем новый элемент на первое место
            NewItem->Next = Head;
            Head = NewItem;
        }
        else {
            if (Current->Next != NULL) {
                NewItem->Next = Current->Next;
            }
            Current->Next = NewItem;
        }
    }
}
 
void First_Chet_Single_List(Single_List* Head)
{
    Single_List* ptr; //вспомогательный указатель
    ptr = Head;
    while (ptr != NULL) {//пока не конец списка
        if (ptr->Data % 2 == 0) {
            cout << ptr->Data << "  ";
            break;
        }
        ptr = ptr->Next;
    }
}
 
int main()
{
    SetConsoleOutputCP(1251);
    Single_List* S1 = new Single_List;
    int n;
    int el = 0, number = 0;
    cout << "Введите кол-во стркуктур в очереди: ";
    cin >> n;
    Make_Single_List(n, S1);
    cout << "Введенный список: " << endl;
    Output_Single_List(S1);
    /* вставка на заданную позицию */
    cout << "Введите элемент для вставки в список: ";
    cin >> el;
    cout << "Введите номер для вставки в список: ";
    cin >> number;
    Insert_Item_Single_List(S1, number, el);
    Output_Single_List(S1);
    cout << "Первый четный элемент в списке: ";
    First_Chet_Single_List(S1);
    cout << endl;
    system("pause");
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.02.2022, 11:15
Ответы с готовыми решениями:

Извлечь из очереди начальные элементы и вывести их значения и новые адреса начала и конца очереди
Дано число N (&gt; 0) и указатели P1 и P2 на начало и конец непустой очереди. Извлечь из очереди N начальных элементов и вывести их значения...

Найти и вывести на экран повторяющиеся значения массива
Написать программу, в которой одномерный массив на 20 элементов заполняется случайными числами от 1 до 10. Найти и вывести на экран...

Вывести повторяющиеся значения массива
Запутался в край, надеюсь на вашу помощь, может просто подтолкнете. В таблице имеется список записей, на выходе получаю следующий массив...

5
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
25.02.2022, 11:21
Цитата Сообщение от voytsechovskaya Посмотреть сообщение
Вывести в очереди повторяющиеся значения
Какое-то более подробное задание есть?
0
0 / 0 / 0
Регистрация: 24.10.2021
Сообщений: 49
25.02.2022, 11:31  [ТС]
Меня интересует именно повторяющиеся значения, остальное все понимаю
Составить список записей в динамической области памяти (односвязную очередь). Поле записи содержит строку символов и указатель на запись. Число записей вводится с клавиатуры, значения строк вводятся с клавиатуры. Распечатать повторяющиеся значения. Разработать функцию удаления записи с заданным номером.
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
25.02.2022, 11:39
И где же это?
Цитата Сообщение от voytsechovskaya Посмотреть сообщение
Поле записи содержит строку символов
Ну да ладно. С повторяющимися тоже ничего не ясно. Что делать, если повторяющихся несколько? И как распечатывать? Если например есть значения 2 2 1 5 5, то распечатать 2 5 или 2 2 5 5?
0
0 / 0 / 0
Регистрация: 24.10.2021
Сообщений: 49
25.02.2022, 11:51  [ТС]
Нужно распечатать 2 5
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
25.02.2022, 12:36
Не проверял

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
struct Iterants
{
    int value;
    int count;
};
 
void Iterant_Count(Single_List * const head) {
    Single_List * temp = head;
    int size = 0;
    while (temp != nullptr) {
        ++size;
        temp = temp->Next;
    }
    
    Iterants * iterants = new Iterants[size];
    int it_size = 0;
    temp = head;
    while (temp != nullptr)
    {
        int i = 0;
        for (; i < it_size; ++i) {
            if (iterants[i].value == temp->Data) {
                iterants[i].count += 1;
                break;
            }
        }
        
        if (i == it_size) {
            iterants[it_size].value = temp->Data;
            iterants[it_size].count = 1;
            ++it_size;
        }
        
        temp = temp->Next;
    }
    
    for (int i = 0; i < it_size; ++i) {
        if (iterants[i].count > 1)
            std::cout << iterants[i].value << " ";
    }
 
    delete [] Iterants;
}
 
int main()
{
    // ...
    Iterant_Count(S1);
    // ...
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2022, 12:36
Помогаю со студенческими работами здесь

Запрос. Вывести не повторяющиеся значения поля
Access 2010. Дана таблица &quot;Список групп&quot; с полем &quot;Факультет&quot;... В некоем запросе надо вывести факультеты, без повторений. Как...

Выбрать повторяющиеся значения и вывести предпоследнее
Привет. У меня есть страница, которая циклом выводит данные в виде таблиц из бд. Выглядит примерно так: &lt;?php $post =...

Найти и вывести на экран повторяющиеся значения
Доброго времени суток.Представлена ​​информация о студентах группы:имя,фамилия,название группы,год рождения.Вывести на экран информацию о...

Вывести на экран в одну строку повторяющиеся значения списка
&quot;Напишите программу, которая принимает на вход список чисел в одной строке и выводит на экран в одну строку значения, которые повторяются в...

Как вывести все значения в конце, а не по очереди?
Задание: дано целое число N (&gt; 1) и набор из N целых чисел. Вывести те элементы в наборе, которые меньше своего левого соседа, и количество...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru