Массивы

467 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Даны названия 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
 
 
В начальный момент в массиве записаны по порядку числа от 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
Даны две квадратных таблицы чисел. Требуется построить третью, 
каждый элемент которой равен сумме элементов, стоящих на том же месте
в 1-й и 2-й таблицах.
 
Входные данные
Во входном файле записано сначала число N, затем записана первая таблица,
а после нее - вторая. Элементы таблиц - числа от 0 до 100. 
1<=N<=100.
 
Выходные данные
В выходной файл выведите результирующую таблицу.
 
Пример входного файла
3
1 2 3
4 5 6
7 8 9
 
11 12 13
14 15 16
17 18 19
 
Пример выходного файла
12 14 16
18 20 22
24 26 28
 
Симметричная матрица
 
Дана квадратная матрица. Проверить, является ли она симметричной относительно
главной диагонали.
 
Входные данные. В файле INPUT.TXT записано число n (0<n<=100). 
В следующих n строках записано по n целых чисел от -32768 до 32767. 
 
Выходные данные. В файл OUTPUT.TXT вывести YES, 
если матрица симметрична относительно главной диагонали, иначе вывести NO.
 
Пример файла INPUT.TXT
3
1 2 3
2 4 5
3 5 6
 
Пример файла OUTPUT.TXT
YES
 
Нолики
 
В матрице найти положение нулевого элемента.
 
Входные данные
Формат входных данных как в примере.
Хотя бы один нулевой элемент в матрице всегда существует.
 
Выходные данные
Вывести сначала номер строки, а затем - номер столбца нулевого элемента. 
Если в матрице несколько нулей, выдать позицию любого из них.
 
Пример входного файла
3 4
0 1 2 3
4 5 0 1
2 3 4 5
 
Пример выходного файла
2 3
 
Минимум в таблице
 
Дана таблица чисел, состоящая из N строк по M чисел в каждой.
Все числа в таблице - натуральные, не превышающие 1000.
Требуется найти наименьшее число в этой таблице.
 
Входные данные
Во входном файле записано сначала число N - количество строк,
а затем число M - количество столбцом таблицы (1<=N<=100, 1<=M<=100).
Далее идет сама таблица.
 
Выходные данные
В выходной файл выведите наименьшее число, которое встречается в таблице.
 
Пример входного файла
3 4
6 4 10 4
3 7 5 7
6 3 4 3
 
Пример выходного файла
3
 
 
Дан массив. Требуется удалить из него элемент, стоящий на месте номер B, сдвинув все последующие элементы влево.
 
Входные данные
Во входном файле записано сначала число N - количество элементов массива (2<=N<=100), затем N чисел из диапазона Integer - элементы массива, а затем число B (1<=B<=N).
 
Выходные данные
В выходной файл выведите N-1 число - элементы массива с удаленным B-м элементом.
 
Примечание
Вы должны удалить элемент непосредственно из массива, а не сделать вид при выводе данных, что у вас такого элемента нет. Также вы не  должны для этого заводить в программе дополнительный массив.
 
(Та же задача, что и "Количество единиц, двоек, троек и т.д. #1", только может быть введено до 100000 чисел)
 
Вводятся числа от 1 до 9 до тех пор,
пока не будет введен 0. Всего будет введено не более 100000 чисел
 
Посчитать количество единиц в этой последовательности,
количество двоек, количество троек и так далее (в выходном
файле всегда должно быть 9 чисел).
 
 
Пример входного файла
1 1 4 1 5 8 6 3 5 1 0
 
Пример выходного файла:
4 0 1 1 2 1 0 1 0
 
Вводятся числа от 1 до 9 до тех пор, 
пока не будет введен 0. Всего будет введено не больше 100 чисел.
 
Посчитать количество единиц в этой последовательности, 
количество двоек, количество троек и так далее (в выходном
файле всегда должно быть 9 чисел).
 
 
Пример ввода:
1 1 4 1 5 8 6 3 5 1 0         
 
Пример вывода:
4 0 1 1 2 1 0 1 0
 
Среди заданных N натуральных чисел определить сколько среди них пар одинаковых чисел.

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

Выходные данные
Выведите одно число - количество пар одинаковых чисел.
 
 
Примеры
Входные данные Выходные данные Примечание
1
5
1 3 2 2 3
2  
2
4
1 1 1 1
6
Пару одинаковых чисел образовывают любые два числа 
последовательности, поэтому ответом будет число пар, которое вообще
может быть (это пары чисел, стоящих на местах: (1,2), (1,3), (1,4),
(2,3), (2,4), (3,4)).
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в следующем порядке: сначала выводятся числа, стоящие на нечетных местах, а затем - стоящие на четных местах.
 
Входные данные
Вводится число N (0<N<100), а затем N чисел. Каждое число не превышает 100 по модулю.
 
Выходные данные
Выведите N чисел в заданном порядке.
 
Примеры
Входные данные Выходные данные
1
7
2 4 1 3 5 3 1
2 1 5 1 4 3 3
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в следующем порядке: сначала выводятся все нечетные числа в том порядке, в каком они встречались во входном файле, а затем - все четные.
 
Входные данные
Вводится число N (\(0<N<100\)), а затем N чисел. Каждое число не превышает по модулю 100.
 
Выходные данные
Выведите N чисел в обратном порядке.

 
Примеры
Входные данные Выходные данные
1
7
2 4 1 3 5 3 1
1 3 5 3 1 2 4
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в обратном порядке.
 
Входные данные
Вводится число N (0<N<100), а затем N чисел. Каждое число не превышает 100 по модулю.
 
Выходные данные
Выведите N чисел в обратном порядке.
 
Примеры
Входные данные Выходные данные
1
7
2 4 1 3 5 3 1
1 3 5 3 1 4 2
 
Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число.
 
Входные данные
Вводится сначала число N - количество членов последовательности, а затем N чисел - члены последовательности.
 
Выходные данные
Выведите одно число - сколько раз в последовательности встречается максимальное число.
 
Примеры
Входные данные Выходные данные
1
7
1 4 2 5 2 5 3
2
10385#10385
Дан массив из N элементов.  Удалять элементы в начале и в конце до тех пор, пока сумма массива не будет кратна 5 (сначала первый, затем последний и т.д.).

В первой строке вводится число N (1<=N<=15)  - количество элементов одномерного массива
Во второй строке вводится N целых чисел (ввод чисел происходит с клавиатуры)

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 4
2 6 4 5
6 4
10383#10383
Дан массив из N элементов.  Удалить из массива все элементы, которые меньше предыдущего. После операции удаления таких элементов, в массиве не должно быть ни одного элемента. который был бы меньше, чем стоящий слева от него.

Входные данные
В первой строке вводится число N (1<= <=15)  - количество элементов одномерного массива.
Во второй строке вводится N целых чисел. Числа в строке разделены одним пробелом. 

Выходные данные
Выведите измененный массив.

Примечание
Программа должна менять массив "на месте". То есть массив необходимо именно изменить, а не создавать новый массив или сразу выводить требуемые эллементы на экран!
 
Примеры
Входные данные Выходные данные
1
5
1 0 2 0 0
1 2
2 6
4 0 1 4 5 4
4 4 5
Поделиться
Класснуть