Одномерные массивы

269 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Для чего производится описание массивов?

1) чтобы самому запомнить сколько ячеек в массиве
2) чтобы компьютер запомнил имя массива
3) чтобы компьютер зарезервировал память для хранения элементов массива
4) чтобы компьютер зарезервировал количество энергии для обработки массива
Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот (все максимальные - на минимальные).
 
Входные данные
Дано количество оценок Василия (не больше 100), затем сами оценки.
 
Выходные данные
Требуется вывести исправленные оценки в том же порядке.

Ввод Вывод
5 1 3 3 3 4 1 3 3 3 1
8 5 4 2 2 4 2 2 5 2 4 2 2 4 2 2 2

В области Че в каждом из N районов решили засеять свободные поля пшеницей. После жатвы всю пшеницу свозят в хранилище и считают, сколько было собрано урожая в каждом районе. Известная площадь, засеянная пшеницей (Ai, в гектарах) в каждом районе, и размер собранного урожая в каждом районе (Bi, в центнерах). Напишите программу, которая считает среднюю урожайность пшеницы по каждому району и по всей области в целом.

Входные данные
В первой строке вводится значение N - количество районов в области (1 <= N <= 1000). Во второй строке, вводится N чисел Ai - площади каждого района (1 <= Ai <= 109). Во второй строке, вводится N чисел Bi - урожайность каждого района (1 <= Bi <= 109).


Выходные данные
Вывести в первой строке через пробел среднюю урожайность по каждому району, округленную до 6 знаков после запятой. Во второй строке вывести среднюю урожайность по области в целом, округленную до 6 знаков после запятой.

 
Примеры
Входные данные Выходные данные
1
5
10 20 25 30 35
30 40 50 60 70
3.000000 2.000000 2.000000 2.000000 2.000000
2.083333
 
Известна информация об N (0<N<=20) учениках класса: фамилия, имя, отчество  и дата рождения (день, месяц, год)
Определить структуру, описывающую информацию об учениках класса.
Вывести количество учеников в классе, у которых сегодня день рождения и их количество

Входные данные: 
В первой строке вводится число N - количество записей
Далее идут N записей в формате (через пробел): <Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела> <день рождения - число от 1 до 31> <Месяц рождения - число от 1 до 12> <Год рождения-число>
Далее идет строка с сегодняшней датой в формате  <день - число от 1 до 31> <Месяц - число от 1 до 12> <Год -число>

Выходные данные:
Необходимо вывести на экране в столбик информацию об учениках, у которых сегоня день рождения.
Формат вывода 
 <Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела>
Фамилии выводить в порядке следования исходных данных
Далее после списка учеников вывести одно число - количество учеников
Известна информация об N (0<N<=100) сотрудниках фирмы: фамилия, имя, отчество, адрес и дата поступления на работу (месяц, год)
Написать программу, организующую ввод исходных данных в структуру и вывести на экран фамилию, имя и адрес сотрудников, которые на сегодняшний день проработали в фирме не менее Z лет

Входные данные: 
В первой строке вводится число N - количество записей
Далее идут N записей в формате (через пробел): <Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела> <Адрес-слово без пробела> <Месяц поступления - число от 1 до 12> <Год поступления-число>
Далее идет строка с сегодняшней датой в формате  <Месяц - число от 1 до 12> <Год -число>
Далее идет значение Z (0<Z<=10) - количество проработанных лет

Выходные данные:
Необходимо вывести на экране в столбик информацию о сотрудниках, проработавших в фирме не менее Z лет.
Формат вывода 
 <Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела> <Адрес-слово без пробела> 
Фамилии выводить в порядке следования исходных данных
Известны максимальные скорости 20-ти моделей автомобилей. Все значения выражены в км/ч.
Написать программу, которая организовывает ввод исходных данных в структуру и выводит названия моделей автомобилей с самой маленькой и самой большой максимальной скоростью

Входные данные: 
20 строк в формате <Марка автомобиля> <Максимальная скорость>


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

Входные данные: 
в первой строке задается название страны
далее идут 26 строк в формате <Страна> <Город>


Выходные данные:
Необходимо вывести все города, которые находятся в стране, указанной в первой строке входных данных.
Каждый город выводить с новой строки
Сразу после списка городов вывести их количество (одно целое число)
На пронумерованных N стульях за круглым столом в зале заседаний сидят толстяки, вес каждого известен. Каждый час они пересаживаются по кругу вправо на один стул. Напишите программу, которая определяет какой из толстяков будет сидеть на каждом стуле через R часов. 

Входные данные
В первой строке вводится значение N - натуральное число (\(N<=100\)). Во второй строке, вводится N чисел - вес толстяков (от 90 до 150). В третьей строке вводится натуральное число R (\(0<=R<=100\)).

Выходные данные
Вывести в первой строке исходное положение толстяков (их вес, начиная с сидящего на первом стуле):
before: вес толстяков 
Во второй строке вывести положение толстяков через R часов:
after: вес толстяков 
 
Примеры
Входные данные Выходные данные
1
5
98 127 139 141 107 
3
before: 98 127 139 141 107 
after: 139 141 107 98 127 
В фирме, выпускающей компьютерные комплектующие, все изделия получают последовательные номера от 1 до N. Каждое изделие после его изготовления поступает в отдел контроля качества, где оно проверяется, и либо уходит в продажу, либо заносится в список бракованных изделий и списывается. К сожалению, список бракованных изделий иногда оказывается чересчур длинным. Тогда для его сокращения подряд идущие числа заменяются интервалом: через тире указываются номера первого и последнего изделия интервала.
Например, вместо 
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
записывается
1,3-8,10,12,16-17,20-24
 
Напишите программу, которая по полному списку номеров бракованных изделий выдаст этот список в сокращенном виде.
 
Входные данные
В первой строке вводится сначала число N - общее количество изделий, затем число M - количество изделий, оказавшихся бракованными. Во второй строке вводятся в возрастающем порядке номера бракованных изделий. 
 
Выходные данные
Выведите в одной строке список номеров бракованных изделий в сокращенном виде. Интервалы должны разделяться запятой. В строке не должно быть пробелов.
 
Ограничения
1<=M<=N<=1000000.
 
Примеры
Входные данные Выходные данные
1
10 5 
1 3 5 7 9
1,3,5,7,9
2
40 16
1 3 4 5 6 7 8 10 12 16 17 20 21 22 23 24
1,3-8,10,12,16-17,20-24
3
11 11
1 2 3 4 5 6 7 8 9 10 11
1-11
4
10000 1 
5
5
Даны два массива чисел. Требуется вывести те элементы первого массива (в том порядке, в каком они идут в первом массиве), которых нет во втором массиве.
 
Входные данные
В первой строке ввода записано число N - количество элементов в первом массиве. Во второй строке  - N чисел (элементы массива). В третьей строке записано число M - количество элементов во втором массиве. В четвертой строке  - элементы второго массива.
Количество элементов каждого массива не превышает 100. Сами элементы по модулю не превышают 1000. Все числа целые.
 
Выходные данные
Выведите те элементы первого массива, которых нет во втором.Элементы необходимо вывести в том порядке, в каком они идут в первом массиве.
 
Примеры
Входные данные Выходные данные
1
7
3 1 3 4 2 4 12
6
4 15 43 1 15 1
3 3 2 12
 
Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с m-й и заканчивая n-й.

Входные данные: 
в первой строке задается слово.
во второй строке два числа через пробел, сначала число m, затем число n

Выходные данные:
необходимо вывести часть слова, образованное с m-й по n-ую позицию

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1
forest
2 5
ores
Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину, не используя оператор цикла

Входные данные: 
в первой строке задается слово, состоящее из четного числа букв.

Выходные данные:
необходимо вывести первую половину исходного слова

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 privet pri

Дано слово. Получить и вывести на экран его часть, образованную из второй, третьей и четвертой буквами

Входные данные
В первой строке задается слово, состоящее из 4х и более букв.

Выходные данные
Необходимо вывести  часть, образованную из второй, третьей и четвертой буквами.
 
Дано слово. Получить и вывести на экран буквосочетание, состоящее из его третьего и последнего символа

Входные данные: 
в первой строке задается слово, состоящее из 4х и более букв.

Выходные данные:
необходимо вывести буквосочетание, состоящее из его третьего и последнего символа

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 privet it

Дано слово. Получить и вывести на экран буквосочетание, состоящее из его второго и четвертого символа

Входные данные: 
в первой строке задается слово, состоящее из 4 и более символов

Выходные данные:
необходимо вывести на буквосочетание, состоящее из его второго и четвертого символа

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 privet rv

Даны два слова. Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово?

Входные данные: 
в первой строке задается первое слово
во второй строке задается второе слово

Выходные данные:
необходимо вывести на экран словой Yes, если первое слово начивается на ту же букву, на которое заканчивается второе слово, в противном случем вывести на экран слово No

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 privet
mama
NO
2 mama
mom
YES

Дано слово. Вывести на экран его k-й символ.

Входные данные: 
в первой строке задается слово.
во второй строке число k

Выходные данные:
необходимо вывести на экран символ стоящий в позиции с индексом k (считать нумерацию с 1) 

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 privet
2
r

 
В начальный момент в массиве записаны по порядку числа от 1 до N (i-ое число - 
на i-ом месте). С массивом проделывают последовательно следующую операцию:
берут два числа, стоящих на местах A и B, и меняют их местами. Требуется
напечатать массив после выполнения этих операций.
 
Входные данные
Записано сначала число N (2<=N<=100). Далее идет число K - количество 
операций обмена (0<=K<=10000). Далее идет K пар чисел - номера мест 
элементов, обмен которых происходит.
 
Выходные данные
Выведите элементы массива после выполнения этих операций.
 
Пример ввода:
10
2
1 3
3 5
 
Пример вывода
3 2 5 4 1 6 7 8 9 10
Дан массив из N элементов (N<=100) 
Напишите программу, которая осуществляет циклический сдвиг вправо элементов, стоящих на четных местах (нумерация элементов начинается с 0)

Входные данные
В первой строке вводится значение N. Далее во второй строке, вводится N чисел

Выходные данные
Вывести все элементы преобразованного массива.

 
Примеры
Входные данные Выходные данные
1
5
1 2 3 4 5
5 2 1 4 3
Поделиться
Класснуть