Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.84/1548: Рейтинг темы: голосов - 1548, средняя оценка - 4.84
XuTPbIu_MuHTAu
Эксперт С++
2239 / 754 / 25
Регистрация: 27.05.2008
Сообщений: 1,498
1

Большая коллекция решенных задач

29.08.2009, 00:18. Просмотров 299573. Ответов 1
Метки нет (Все метки)

Обработка строк
1. Вывести в алфавитном порядке все буквы, которые входят в текст по одному разу
2. Является ли введенная строка палиндромом

Обработка списков
1. Двойной связный список
2. Односвязные списки. Принцип работы.
3. Поместить в стек из динамического списка
4. односвязный линейный список на Си.
5. Однонаправленный список
6. Стек
7. Очередь
8. Двусвязный список
9. двусвязный список с итератором
10.вектор с итератором
11.Чуть более чем полностью нестандартный стек
12.очередь с итераторами
13.Дек на базе связного списка
14.Stack с вложенным классом iterator
15. двусвязный кольцевой список

Вычисления с использованием циклов
1. Натуральные числа, которые делятся на каждую из своих цифр.
2. Перебор всех возможных способов размещения n различных предметов по m различным ящикам
3. Найти суммы каждой пары подряд идущих чисел
4. Вывести кубы первых 10ти простых чисел
5. Поиск простых чисел через массив
6. Вычисление НОД с помощью модификаций алгоритма Евклида
7. быстрое нахождение количества делителей натурального числа
8. Быстрая проверка натурального числа на простоту
9. Быстрый поиск совершенных чисел
10. Вычисление функций разложением в ряд Тейлора
11. Вывод фигур символами в консоли
12. Рекурсивное вычисление n-ого числа Фибоначчи

Массивы
1. Подсчет нулевых элементов в заданном одномерном массиве;
2. Вычисление суммы положительных элементов в заданном одномерном массиве;
3. Поиск первого максимального элемента и его индекса в заданном одномерном массиве;
4. Поиск последнего минимального элемента и его индекса в заданном одномерном массиве;
5. Поиск простых чисел через массив
6. Найти номера всех элементов с максимальным значением.

Сортировки
1. Статьи и учебники C++
2. Алгоритмы сортировок строк (выбором, пузырьком, вставками, Шелла, пирамидальная, быстрая, поразрядная)
3. Сортировка подсчётом
4. Сортировка вычерпыванием

Двумерные массивы(матрицы)
1. Умножение матрицы на вектор.Использование функций.
2. Переставить столбцы в соответствии с ростом заданных характеристик
3. найти максимальный элемент в каждой строке матрицы
4. Транспонирование матрицы относительно главной и побочной диагоналей
5. Умножение матриц
6. Построить результат сглаживания заданной вещественной матрицы
7. В прямоугольной матрице найти номера первых отрицательных элементов каждой строки (столбца).
8. Исключить из матрицы нечетные столбцы
9. Умножение матрицы на вектор с использованием функций.
10.Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
11.Обратная матрица
12.Обход и вывод элементов "По спирали"
13.Заполнение матрицы змейкой (по спирали) #2
14.Найти первый положительный элемент кратный заданному числу
15.Сложение матриц
16.Поменять местами столбец и строку
17.Умножить матрицу на число
18.Найти номер столбца содержащего ноль(если такой есть)
19.Найти номер строки содержащей ноль(если такая есть)
20.Создать класс матрицы
21.Заполнение матрицы разными змейками

Решение систем линейных уравнений
1. Решение системы двух линейных уравнений.
2. Решение систем линейных уравнений методом Гаусса
3. Методом Крамера

Нахождение корней уравнений
1. Метод итераций
2. Метод Ньютона
3. Метод половинного деления
4. Дихотомии(половинного деления)
5. Золотого сечения
6. Фибоначчи
7. Метод хорд

Дискретная математика
1. Ориентированные, неориентированные графы. Выводит связанные вершины по матрице смежности
2. Алгоритм Уоршалла
3. Код Прюфера. Кодирование/декодирование дерева. Много комментариев.
4. Алгоритм Флойда-Уоршала. Поиск матрицы кратчайших путей. Матрица вершин через которые проходят кратчайшие пути. Поиск кратчайшего пути между двумя вершинами.

Игры
1.Крестики-нолики пользователь-пользователь.

Классы
1.Класс дат без дней недели
184
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2009, 00:18
Ответы с готовыми решениями:

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

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

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

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

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

1
macewindujedii
5 / 5 / 2
Регистрация: 20.11.2015
Сообщений: 9
28.04.2016, 23:14 2
Пример программы на двусвязный кольцевой список
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--;
    }
}
4
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2016, 23:14

Структура: Записать в файл название команды, количество решенных задач, время, потраченное на решение.
Помогите, пожалуйста. Срочно нужно. В файле 1 хранятся данные о соревнованиях по решению задач. Он...

Каталог простых примеров решенных задач BAT/CMD, с чего начать (■■■ основная тема ■■■)
Тема создана для размещения &quot;классических&quot; примеров решения только самых распространенных задач,...

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


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

Или воспользуйтесь поиском по форуму:
2
Закрытая тема Создать тему
Опции темы

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