← Программы обучения

Задачи для Андрея

Восемь новых задач

33
Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот (все максимальные - на минимальные).
34
Спортсмен Василий участвовал в соревнованиях по хоккейболу и получил в личном зачете серебряную медаль. Известно, что участники, получившие одинаковое количество очков, награждаются одинаковыми наградами. Известно, что были разыграны золотые серебряные и бронзовые медали. В задаче не спрашиваются правила хоккейбола. Необходимо только определить сколько очков набрал Василий.
35
Петя впервые пришел на урок физкультуры в новой школе. Перед началом урока ученики выстраиваются по росту, в порядке невозрастания. Напишите программу, которая определит на какое место в шеренге Пете нужно встать, чтобы не нарушить традицию, если заранее известен рост каждого ученика и эти данные уже расположены по невозрастанию (то есть каждое следующее число не больше предыдущего). Если в классе есть несколько учеников с таким же ростом, как у Пети, то программа должна расположить его после них.
36
Напишите программу, которая выбирает из массива все простые числа в другой массив. Если в исходном массиве нет простых чисел, программа должна вывести число 0.
37
Пара элементов в массиве называется симметричной , если эти элементы находятся на одинаковом расстоянии от концов массива. Так в массиве размером N симметричными будут пары элементов с порядковыми номерами 1 и N , 2 и N - 1 и т.д. (при нумерации с единицы). Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет номера двух симметричных элементов этого массива, сумма которых чётная и максимальная среди всех пар симметричных элементов. Если ни одной такой пары нет, нужно вывести два нуля. Если есть несколько таких пар, нужно вывести номера элементов, составляющих пару, ближайшую к центру массива.
38
Реверс массива – это перестановка элементов в обратном порядке: меняются местами первый и последний элементы, второй и предпоследний и т.д. Напишите программу, которая выполняет реверс двух половин массива по отдельности.
39
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии. Все шарики при этом сдвигаются друг к другу, и ситуация может повториться. Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено". Естественно, непрерывных цепочек из трех и более одноцветных шаров в начальный момент может быть не более одной.
40
Напишите программу, которая выполняет "сжатие массива" – переставляет все нулевые элементы в конец массива. При этом все ненулевые элементы располагаются в начале массива в том же порядке.

Бохатые планы

  1. Динамическое программирование
  2. Задачи на рекурсию
  3. Двумерные массивы
  4. Сортировки
  5. Двоичный поиск
  6. Алгоритмы
  7. Структуры
Rainbow

Архив

21
Напишите программу, которая заполняет массив из N элементов членами арифметической прогрессии с начальным значением X и разностью D.
22
Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с 2^1 до 2^N , в обратном порядке.
23
Ряд чисел Фибоначчи задается следующим образом: первые два числа равны 1 ( F(1) = F(2) = 1 ), а каждое следующее равно сумму двух предыдущих: F(i) = F(i - 1) + F(i - 2) . Напишите программу, которая вводит натуральное число N и заполняет массив из N элементов первыми N числами Фибоначчи.
24
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет среднее арифметическое элементов этого массива
25
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет среднее арифметическое всех элементов этого массива, которые меньше 50, и среднее арифметическое всех остальных элементов.
26
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет номера двух соседних элементов этого массива, имеющих минимальную сумму. Если таких пар несколько, нужно вывести номера элементов самой последней пары.
27
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет номера двух элементов этого массива, которые расположены ближе всех друг к другу на числовой оси. Эти элементы не обязательно должны быть расположены рядом друг с другом. Если таких пар несколько, нужно вывести номера элементов самой последней из таких найденных пар.
28
Напишите программу, которая выводит номера элементов массива, равных заданному значению X.
29
Напишите программу, которая находит в массиве количество элементов, равных максимальному.
30
Напишите программу, которая находит в массиве минимальный и максимальный из чётных положительных элементов.
31
Напишите программу, которая переставляет соседние элементы массива: 1-й со 2-м, 3-й с 4-м и т.д. Нумерация элементов начинается с единицы.
32
Напишите программу, которая выполняет реверс массива: меняет местами первый и последний элементы, второй и предпоследний и т.д.