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

Однонаправленные и двунаправленные списки

18.12.2017, 12:24. Показов 19879. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачи.
1) Сформируйте однонаправленный список с вещественным информационным полем. Добавьте в список заданный элемент после первого элемента с аналогичным информационным полем. Выполните печать списка до и после изменений. Найти среднее арифметическое элементов списка.
2)Сформируйте однонаправленный список с информационным полем типа char*. Добавьте в этот список элементы с нечетными номерами. Решите задачу, выполняя следующие требования:
-Сформировать однонаправленный список, тип информационного поля указан в варианте.
-Распечатать полученный список.
-Выполнить обработку списка в соответствии с заданием.
-Распечатать полученный список.
-Удалить список из памяти.
3)Для решения задачи сформируйте двунаправленный список с символьным информационным полем. Дана последовательность латинских букв, оканчивающаяся точкой. Среди букв есть специальный символ Ch, появление которого означает отмену предыдущего символа. Учитывая вхождение этого символа, преобразуйте последовательность.
4)Для решения задачи сформируйте двунаправленный список. Даны действительные числа a1, a2, ..., a2n (n>= 2, заранее неизвестно и вводится с клавиатуры). Вычислите: max(min(a1, a2n), min(a3, a2n-2), ... , min (a2n-1, a2)).
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2017, 12:24
Ответы с готовыми решениями:

Двунаправленные списки
Доброго времени суток! Помогите плиз с задачкой: Определить количество чётных элементов среди элементов расположенных до первого...

однонаправленные списки
Пожалуйста помогите мне!!! Записи в линейном списке содержат ключевое поле типа double. Сформировать однонаправленный список. Удалить из...

Однонаправленные списки
Сформировать список из натуральных чисел. Найти порядковые номера максимальных элементов списка. #include<iostream.h> ...

2
 Аватар для Геомеханик
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
18.12.2017, 19:09
Лучший ответ Сообщение было отмечено PerdolenkoMaxim как решение

Решение

Цитата Сообщение от PerdolenkoMaxim Посмотреть сообщение
1) Сформируйте однонаправленный список с вещественным информационным полем. Добавьте в список заданный элемент после первого элемента с аналогичным информационным полем. Выполните печать списка до и после изменений. Найти среднее арифметическое элементов списка.
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
#include <iostream>
 
struct node {
    double val;
    node*  next;
    node(const double& v):val(v), next(NULL){}
};
 
class slist {
private:
    node* hd, *tl;
public:
    slist(void):hd(NULL), tl(NULL){}
 
    explicit slist(const double* a, const double* b):hd(NULL), tl(NULL){
        while(a != b)
            add(*a++);
    }
 
    ~slist(){ clear(); }
public:
    //добавить в конец списка
    node* add(const double& v){
        node* p = new node(v);
        if(hd == NULL)
            hd = tl = p;
        else {
            tl->next = p;
            tl = p;
        }
        return p;
    }
 
    //вставка в произвольное место после элемента
    node* insert_after(node* pos, const double& v){
        if(pos == tl || pos == NULL)
            return add(v);
 
        node*   p = new node(v);
        p->next   = pos->next;
        pos->next = p;
        return p;
    }
 
    //удалить всех
    void clear(void){
        node* t;
        while(hd != NULL){
            t  = hd;
            hd = hd->next;
            delete t;
        }
        tl = NULL;
    }
 
    node* head(void){ return hd; }
    const node* head(void) const { return hd; }
 
    node* tail(void){ return tl; }
    const node* tail(void) const { return tl; }
};
 
//печать списка
void slist_print(std::ostream& _out, const slist& lst){
    for(const node* p = lst.head(); p != NULL; p = p->next)
        _out << p->val << ' ';
    _out << std::endl;
}
 
int main(void){
    double a[] = { 1, 3, 4, 5, 6, 7, 8, 9 };
    slist  lst(a, a + sizeof(a)/sizeof(a[0]));
    slist_print(std::cout, lst);
 
    lst.insert_after(lst.head(), 2);
    slist_print(std::cout, lst);
 
    //среднее значение
    int    cnt = 0;
    double sum = 0;
    for(const node* p = lst.head(); p != NULL; p = p->next, ++cnt)
        sum += p->val;
 
    if(cnt > 0)
        std::cout << "avg: " << sum / cnt << std::endl;
    lst.clear();
    std::cin.get();
    return 0;
}
1
0 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 8
19.12.2017, 07:57  [ТС]
Спасибо, а что по поводу остальных заданий?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2017, 07:57
Помогаю со студенческими работами здесь

Однонаправленные списки
Подпрограмма №1 - формировка элементов первого списка тип float количество 8, включение элементов после второго. Подпрограмма №2 -...

однонаправленные связные списки
сформировать однонаправленный список содержащий последовательность символов s1 , s2 , . . . , sn ( n &gt;= 2 и заранее неизвестно)....

работа со списками(двунаправленные списки)
не знаю как написать функцию по добавлению в список элементов с клавиатуры, помогите, пожалуйста список формируется как struct elem ...

Еще раз однонаправленные списки
Помогите пожалуйста, нацельте в нужном направлении. Есть такая задачка Есть классы фигур Triangle Rectangle Pintagon Есть...

ООП. Вложенные структуры. Двунаправленные списки
Доброго времени суток, помогите мне пожалуйста: Структура (header) #include &lt;stdio.h&gt; class CGraph { private: struct...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru