Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очень простой вопрос про циклы Всем привет! Я только начал изучать с++. Меня интересует такой вопрос: Как сделать цик чтобы к переменной i добавлялась переменная i(Надеюсь понятно =)) что то на подобие for (i=1;i<40;i++){... https://www.cyberforum.ru/ cpp-beginners/ thread48662.html Построение лабиринта на Borland С++ 3.01 C++
Здравствуйте... Надо написать программу построения лабиринта...длина и ширина лабиринта вводится с клавиатуры. Желательно, чтобы можно было выбирать сложность лабиринта (easy,medium,hard) Он...
C++ Как программно получить адрес СОМ порта? https://www.cyberforum.ru/ cpp-beginners/ thread48603.html
Пишу программу для прошивки Flash памяти прибора через СОМ порт. Выяснилось, что при ошибке заливки, прибор выдаёт ошибку и начинает принимать новый файл прошивки, т.е. без ожидания команды, тупо...
C++ Можно ли написать web-сайт на С++? https://www.cyberforum.ru/ cpp-beginners/ thread48597.html
Здравствуйте. В web-программировании я полный ноль. Даже html не знаю. Ответьте пожалуйста на вопрос, возможно ли на С++ написать сайт? Вообще, какое ещё отношение к web имеет С++, кроме...
C++ Прототип функции
Скажите,какой смысл описывать протип функции, тоесть первую строчку функции, прописывать ещё раз вверху, перед функцией main(). Что это даёт,я так и не понял?
C++ Неограниченное количество значений https://www.cyberforum.ru/ cpp-beginners/ thread48563.html
Задали вот такую задачку , до сих пор не могу решить. Помогите. 1) Программа должна позволять ввести неограниченное количество значений и сохранить их в масив, размещённый в свободном хранилище....
C++ Дайте определение "Последовательность лексем" https://www.cyberforum.ru/ cpp-beginners/ thread48527.html
subj ну и желательно термин "Лексема" и оригинальные термины по-английски. Спасибо
Найти максимальный элемент одномерного массива C++
Привет всем) поможете написать пару программ? зачёт очень нужен :) Для заданного заголовка функции-double Max(double *mm, int N) {...} написать в теле функции подпрограмму, которая возвращает...
C++ Динамическое выделение Если кто может,дайте расшифровку этому: pprime = new long; *pprime = 2; *(pprime + 1) = 3; *(pprime + 2) = 5;этому: found = (trial%*(pprime + i)) == 0;этому: if(found == 0) *(pprime +... https://www.cyberforum.ru/ cpp-beginners/ thread48482.html C++ main Как можно получить адрес функции в виде числа int-десятичное и шестнадцатиричное значение? Например: typedef int (*PF) (); int main() { PF pf; pf=main; //как получить адрес... https://www.cyberforum.ru/ cpp-beginners/ thread48468.html
создание каталогов C++
пожалуйста расскажите подробно как создать каталог а потом в нем создавать файлы....тоесть так есть функия создания файла.....нужно создать файл и каталог с таким же именем а потом в этом каталоге...
C++ Нужна помощь в создании/удалении директорий. Есть потребность в рабочей папке создать временную директорию, а по завершении всех необходимых работ удалить ее. В виду того что изучением языка я занимаюсь всего второй месяц такая простоя задача... https://www.cyberforum.ru/ cpp-beginners/ thread48420.html
6 / 6 / 2
Регистрация: 20.11.2015
Сообщений: 9
28.04.2016, 23:14 0

Большая коллекция решенных задач - C++ - Ответ 9083561

28.04.2016, 23:14. Показов 421079. Ответов 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
using namespace std;
 
struct DoubleList //описание узла списка
{
    int data; //информационное поле
    DoubleList *next; //указатель на следующий элемент
    DoubleList *prev; //указатель на предыдущий элемент
};
 
 
void AddList(int value, int position);
int DeleteList(int position);
void PrintList();
void DeleteListKTimes(int k);
 
//************************ГЛАВНАЯ ФУНКЦИЯ************************
void main()
{
    setlocale(LC_ALL, "Rus");
    int value, position, x, n, k;
    do
    {
        cout << "1. Добавить элемент" << endl;
        cout << "2. Удалить элемент" << endl;
        cout << "3. Вывести список" << endl;
        cout << "4. Добавить несколько элементов сразу" << endl;
        cout << "5. Удалить с конца списка k элементов" << endl;
        cout << "0. Выйти" << endl;
        cout << "\nНомер операции > "; cin >> x;
        switch (x)
        {
        case 1:
            cout << "Позиция > "; cin >> position;
            cout << "Значение > "; cin >> value;
            AddList(value, position); break;
        case 2:
            cout << "Позиция > "; cin >> position;
            DeleteList(position); break;
        case 3:
            PrintList(); break;
        case 4:
            cout << "Сколько элементов вы хотите добавить в список > "; cin >> n;
            for (int i = 0;i < n;i++)
            {
                cout << "Позиция > "; cin >> position;
                cout << "Значение > "; cin >> value;
                AddList(value, position);
            } break;
        case 5:
            cout << "Сколько элементов вы хотите удалить из конца списка > "; cin >> k;
            DeleteListKTimes(k); break;
        }
    } while (x != 0);
}
 
DoubleList *head; //глобальная переменная (указатель на первый элемент списка)
 
void AddList(int value, int position)
{
    DoubleList *node = new DoubleList; //создание нового элемента
    node->data = value; //присвоение элементу значения
    if (head == NULL) //если список пуст
    {
        node->next = node; //установка указателя next
        node->prev = node; //установка указателя prev
        head = node; //определяется голова списка
    }
    else
    {
        DoubleList *p = head;
        for (int i = position; i>1; i--) p = p->next;
        if (position == 1) head = node;
        p->prev->next = node;
        node->prev = p->prev;
        node->next = p;
        p->prev = node;
    }
    cout << "\nЭлемент добавлен...\n\n";
}
//***********************УДАЛЕНИЕ ЭЛЕМЕНТА***********************
int DeleteList(int position)
{
    if (head == NULL) { cout << "\nСписок пуст\n\n"; return 0; }
    if (head == head->next)
    {
        delete head;
        head = NULL;
    }
    else
    {
        DoubleList *a = head;
        for (int i = position; i>1; i--) a = a->next;
        if (a == head) head = a->next;
        a->prev->next = a->next;
        a->next->prev = a->prev;
        delete a;
    }
    cout << "\nЭлемент удален...\n\n";
   return 1;
}
//*************************ВЫВОД СПИСКА*************************
void PrintList()
{
    if (head == NULL) cout << "\nСписок пуст\n\n";
    else
    {
        DoubleList *a = head;
        cout << "\nЭлементы списка: ";
        do
        {
            cout << a->data << " ";
            a = a->next;
        } while (a != head); cout << "\n\n";
    }
}
void DeleteListKTimes(int k)
{
    DoubleList *a = head;
    int i = 0;
    do
    {
        i++;
        a = a->next;
    } while (a != head);
    for (int n = 0;n < k;n++)
    {
        if (i <= 0)
            break;
        DeleteList(i);
        i--;
    }
}


Вернуться к обсуждению:
Большая коллекция решенных задач C++
5
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2016, 23:14
Готовые ответы и решения:

хотел сделать программу в которой будет много решенных задач по физике
начал делать но что-то ошибку выдает на 26 строчке кода , просит ; . Я посмотрел и перераставлял...

Напишите программу, которая по известному количеству решенных задач выставляет отметки ученикам
Напишите программу, которая по известному количеству решенных задач выставляет отметки ученикам ...

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

Примеры решенных задач
Вот решил выложить программы с лабораторных работ: 1) Сгенерировать одномерный массив и вывести...

Несколько решённых задач
В общем, скажу что я не супер-пупер программистка) я не могу сразу все решить, до меня туго...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2016, 23:14
Помогаю со студенческими работами здесь

Сборник решенных задач
Здравствуйте! Вот тут меня посетила идея.Наверно не впервые я её озвучу, но всё же.Почему бы нам не...

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

Количество задач, решённых Максом за N дней
Вообще не вдуплился нужна помощь Макс изучает новый язык программирования, а лучший способ...

Определить оценку в зависимости от количества правильно решенных задач
Определить оценку абитуриента по математике на вступительных ЭКЗА -нах , если она определяется в...

Определить количество решенных задач одним человеком на турнире
Перед турниром Вася провел подготовку. Он решил А задач на циклы, В задач на массивы и C задач на...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru