Условия Циклы массивы Работа со структурами хранения данных списки дер

  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
134
135
136
137
138
139
140
141
142
143
144
145
146
1. Условия
2. Циклы и массивы
3. Работа со структурами хранения данных – списки, деревья, графы, вектор, очередь, стек, двунаправленная очередь, сеть
4. Сортировки, поиски
5. Построение индексов
6. Математические вычисления (ряды, площади, суммы, средние величины)
7. Работа с составными структурами данных – сортировки по ключу, поиски
8. Работа с памятью – динамические массивы
9. Работа со строками
10. Декопозиция на функции
11. Рекурсия
Написать функцию, (и возможно, дополнительные функции), решающую задачу.
1. Условия
1. Заданы два числа, функция возвращает результат их сревнения в виде строки «первое число больше второго», «первое число равно второму» и так далее
2. Определить, является ли заданное число простым
3. Определить, образуют ли заданные 3 числа тругольник (треугольник задается длинами трех его сторон)
4. Найти меньшее из 4 заданных чисел, не прибегая к циклам
5. Для данной буквы латинского алфавита нужно вывести справа стоящую букву на стандартной клавиатуре. При этом клавиатура замкнута, т.е. справа от буквы «p» стоит буква «a», от буквы «l» стоит буква «z», а от буквы «m» — буква «q». (acmp.ru)
6. Найти количество замкнутых контуров в написании строки большими печатными буквами, например, в строке «строка1» - замкнутых контуров 3, а в «строка10» - 4
7. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.
8. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести порядковый номер этого числа.
9. Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку — словесное описание данного числа вида "отрицательное двузначное число", "нулевое число", "положительное однозначное число" и т.д.
10. Дано целое число, лежащее в диапазоне от 1 до 9999. Вывести строку — словесное описание данного числа вида "четное двузначное число", "нечетное четырехзначное число" и т.д.
2. Циклы и массивы
11. Дана матрица размером 4*4. Вывести на экран все элементы массива под главной и побочной диагональю
12. Проверить все ли числа в массиве из n чисел равны друг другу
13. Заданы z и y - две последовательности. Напишите функцию, которая определяет, можно ли получить последовательность z вычеркиванием элементов из y.
14. Вводится последовательность из n натуральных чисел. Необходимо определить наименьшее натуральное число, отсутствующее в последовательности
15. Найти среднее геометрическое значение для массива
16. Произвести циклический сдвиг элементов массива заданное количество раз.
17. Найти точки максимально удаленные друг от друга, в заданном массиве координат точек.
18. Дан массив чисел, определить количество элементов, равных минимальному значению в массиве
19. Дан массив чисел, определить количество пар одинаковых элементов в массиве
20. Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. (acmp.ru)
21. Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.).
22. Дано целое число в диапазоне 0 – 9. Вывести строку — название соответствующей цифры на русском языке (0 — "ноль", 1 — "один", 2 — "два", ...).
3. Работа со структурами хранения данных – списки, деревья, графы, вектор, очередь, стек, двунаправленная очередь, сеть
23. Задан граф, необходимо определить его связность (для любых двух вершин существует путь из одной в другую)
24. Удалить из односязного списка элемент на заданной позиции (позиция задается числом)
25. Удалить из двусязного списка элемент на заданной позиции (позиция задается числом)
26. Обойти двоичное дерево с использованием рекурсии
27. Найти минимальный элемент в дереве
28. Двусвязный список содержит возраст сотрудника и его имя, отсортировать элементы списка по убыванию возраста
29. Напишите функцию, осуществляющую операцию отбезки ветви дерева, начиная с указанного элемента - вниз
30. Напишите функцию, удаляющую указанный узел в дереве, все дочерние узлы удаляемого узла – становятся «детьми» «родителя» удаляемного узла
31. Напишите процедуру удаления элемента вектора по указанной позиции
32. Напишите функцию вставки элемента в стек
33. Напишите функцию удаления элемента из стека
34. Организовать структуру данных «очередь», элементам которой является точка пространства (x, y, z). В очереди информация помещается в конец и удаляется в момент,когда, наконец, достигает ее начала.
35. Написать функцию движения элемента в структуре «двойная очередь» - элемент перемещается в очереди по направлению к началу или к концу на заданное кол-во шагов. При попадании в начало очереди – элемент удаляется.
36. Напишите функцию очистки очереди
37. Задан файл XML, известна его структура, названия тэгов. Напишите функцию конвертации данных файла в дерево
2. Сортировки, поиски, построение индексов
38. В заданном текстовом файле необходимо осуществить поиск слова по маске, заданной пользователем
39. Дан массив натуральных чисел, не превышающих 10000, напишите функцию наиболее быстрой сортировки массива
40. Дан массив неупорядоченных натуральных чисел – осуществите поиск заданного числа
41. Задан массив объектов {вес, размер, цвет, стоимость}, необходимо организовать быстрый поиск элементов с заданным одним или несколькими свойствами.
42. Напишите функцию построения индекса для поля типа Char[50]
43. Напишите функцию построения индекса для поля типа Double
44. Напишите функцию бинарного поиска по заранее упорядоченному массиву
45. Задан текстовый файл, напишите функцию обратимой компрессии для содержимого файла
46. Задан файл XML, известна его структура, названия тэгов. Напишите функцию извлечения информации из XML по заданному тэгу.
47. Для заданном текстовом файле необходимо создать функцию для произведения подготовительных преобразований для организации быстрогопоиска слов в тексте
3. Математические вычисления (ряды, площади, суммы, средние величины)
48. Дан массив целых чисел, необходимо разработать функцию округления всех чисел до заданного числа, заданным образом.
Параметры округления: число(натуральное), вид округления(вверх, вниз, до среднего)
Пример: число 7, вид округления – вниз.
исходный массив {1, 15, 20, 22, 70}
итоговый массив {0, 14, 14, 21, 70}
49. Возвести число А в натуральную степень n за как можно меньшее количество умножений.
50. Напишите функцию перевода кодов цветов формата RGB в коды некоторой 256-ти цветной палитры. Реализуйте функцию максимально эффективно
51. Найти треугольник самой большой площади, в заданном массиве фигур, каждая фигура задана набором длин ее сторон.
52. Найти все прямоугольники с одинаковой площадью, в заданном массиве прямоугольников, прямоугольники заданы координатами своих вершин, в порядке обхода
53. Найти факториалы всех натуральных чисел в промежутке от Числа1 до Числа2, заданные числа находятся в диапазоне от 1 до 35
54. Найти частное Число1!/Число2! , заданные числа находятся в диапазоне от 1 до 35
55. Найти в заданном массиве чисел все числа кратные заданному числу
56. Известен маршрут автомобиля, состоящий из набора участков заданной длины (массив),
известно время начала движения автомобиля, известна также скорость для каждого из участков (второй массив), определите местоположение автомобиля через заданное время от начала движения
57. Известны площади сечения труб в бассейне, часть их расположена на дне бассейна, часть сверху бассейна. Вода может поспупать по трубе или вытекать из нее, либо труда может быть закрыта, поведение трубы задается параметром. Написать процедуру расчета времени, необходимого на наполнение бассейна известного объема.
58. Прямоугольник задан длиной сторон, далее от прямоугольника отсекают квадраты, (соблюдая условие, что квадрат полностью помещается в остаток прямоугольника). Расчитать, сколько квадратов получится, если каждый раз отсекатеся максимально большой квадрат
59. Задано время отправления поезда и время в пути до конечной станции. Требуется написать программу, которая найдет время прибытия этого поезда
4. Работа с составными структурами данных – сортировки по ключу, поиски
60. Задан массив объектов {вес, размер, цвет, стоимость}, осуществить поиск элементов с заданным одним или несколькими свойствами.
61. Задан массив объектов {вес, размер, цвет, стоимость}, осуществить сортировку элементов с заданным одним или несколькими свойствами.
62. Написать функцию вставки нового объекта в коллекцию объектов со следующими полями {цвет, высота, тип материала, кол-во}
63. Реализуйте функцию сравнения на равенство двух элементов структуры {имя, фамилия, год рождения, статус, кол-во баллов в игре}
64. Реализуйте функцию подсчета среднего балла по заданной команде для коллекции структур {имя, фамилия, год рождения, название команды, кол-во баллов в игре}
65. Задана некоторая структура данных с большим количеством полей (40 или 50). Организуйте функцию задания знанчений для ининциализации экземпляра структуры, необходимые значения полей передаются в параметрах функции.
5. Работа с памятью – динамические массивы
66. Задан одномерный массив чисел, наобходимо осуществить вставку нового элемента на указанную позицию массива
67. Необходимо написать функцию, создающую одномерный массив заданного размера, заполннегого изначально одинаковым занчением, заданном как параметр. Создаваемый массив содержит целые числа.
68. Необходимо написать функцию, создающую массив заданного размера и размерности, заполннегого изначально одинаковым занчением, заданном как параметр. Создаваемый массив содержит целые числа
69. Напишите функцию копирования содержимого одной строки в другую, параметры передаются указателями
6. Работа со строками
70. Удалить из строки цепочку символов заданной длины, начиная с заданной позиции
71. Написать конвертор даты в строку, заданного формата (например «yy/mm/dd» или year month day_of_week date)
72. Дано натуральное число, определить, является ли оно палиндромом
73. Дана строка символов, необходимо все знаки препинания заменить пробелами
74. Дана строка символов, необходимо продублировать все гласные буквы в ней
75. Подсчитать количество слов в заданной строке
76. Математическая формула задана строкой, необходимо определить, является ли запись количества открывающих и закрывающих скобок верным в формуле
7. Декопозиция на функции
77. Опишите структуру и параметры необходимых Вам функций для организации работы с двунаправленным списком
78. Опишите структуру и параметры необходимых Вам функций для решения задачи:
«Известны площади сечения труб в бассейне, часть их расположена на дне бассейна, часть сверху бассейна. Вода может поспупать по трубе или вытекать из нее, либо труда может быть закрыта, поведение трубы задается параметром. Написать процедуру расчета времени, необходимого на наполнение бассейна известного объема.»
79. Опишите структуру и параметры необходимых Вам функций для решения задачи:
«Задан файл XML, известна его структура, названия тэгов. Напишите функцию извлечения информации из XML по заданному тэгу»
80. Опишите структуру и параметры необходимых Вам функций для организации работы с направленным графом
81. Опишите структуру и параметры необходимых Вам функций для организации работы с направленным графом
8. Рекурсия
82. Снежинка Коха — это фрактальное множество точек на плоскости, которое похоже на снежинку.
Задается правильный треугольник, каждая из сторон делится на 3 равные части, вредняя из частей служит основанием для новогоправильного треугольника со стороной равной 1/3 от изначальной стороны. Процедура повторяется рекурсивно, заданное количество раз.
83. Осуществить обход дерева в глубину
84. Осуществить обход дерева в ширину
85. Дано выражение со скобками – необходимо осуществить его перевод в ОПЗ
86. Имеется массив А целых чисел длины N и дано число k. Разделить элементы массива на два сегмента, так чтобы в первом были элементы А[i]<k, во втором — A[i] ≥ k. Относительный порядок элементов в каждом сегменте должен быть сохранен. Использование дополнительной памяти, пропорциональной N, не допускается. Оценка трудоемкости — O(N logN).
87. Напишите функцию быстрого возведения в степень, которая пользовалась бы следующими свойствами: an=(an/2)2 при четном n, an=a*an-1 при нечетном n. Оцените время работы этой функции в зависимости от n.
9. Ссылки и указатели
88. Удалить из односязного списка элемент на заданной позиции (позиция задается числом)
89. Удалить из двусязного списка элемент на заданной позиции (позиция задается числом)
90. Организовать структуру данных «очередь», элементам которой является точка пространства (x, y, z). В очереди информация помещается в конец и удаляется в момент,когда, наконец, достигает ее начала.
91. Написать функцию движения элемента в структуре «двойная очередь» - элемент перемещается в очереди по направлению к началу или к концу на заданное кол-во шагов. При попадании в начало очереди – элемент удаляется.
92. Напишите функцию очистки очереди
93. Удалить из дерева элемент заданный указателем на узел, если у него есть дочерние элементы – присоединить их к родителю удаляемого элемента