Массивы

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

Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.

Вычислите среднее арифметическое. Выведите три строки:

  1. Исходный список — числа через пробел.
  2. Среднее арифметическое, округлённое до 1 знака после запятой.
  3. Числа, которые строго больше среднего, через пробел (в порядке ввода). Если таких нет — пустая строка.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 20\)).

Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).

Формат выходных данных

Первая строка — исходный список через пробел.

Вторая строка — среднее с одним знаком после запятой.

Третья строка — числа больше среднего через пробел.

Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.

Выведите две строки:

  1. Исходный список — числа через пробел в порядке ввода.
  2. Отсортированный список — числа через пробел по возрастанию.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 20\)).

Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).

Формат выходных данных

Две строки: исходный список и отсортированный по возрастанию, числа через пробел.

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

Формат входных данных

Одна строка — слова через пробел (от 1 до 20 слов).

Формат выходных данных

Одна строка — слова с длиной больше 3 через пробел. Если таких слов нет, выведите пустую строку.

Беси и её подружки играют в супергероев. Все знают, что каждый супергерой имеет сигнал, призывающий его к действию. Беси нарисовала специальный сигнал на листке бумаги размером \(M \times N\) (\(1 \leq M \leq 10, 1 \leq N \leq 10\)), но он получился очень маленький. Беси хочет его увеличить ровно в K (\(1 \leq K \leq 10\)) раз в каждом направлении.

Этот сигнал состоит только из символов '.' и 'X'.

ФОРМАТ ВВОДА (файл cowsignal.in):

Первая строка ввода содержит \(M\), \(N\), \(K\), разделённые одиночными пробелами.

Каждая из следующих \(M\) строк содержит строку символов длиной \(N\). Все вместе они и описывают сигнал.

ФОРРМАТ ВВОДА (файл cowsignal.out):

Вы должны вывести \(KM\) строк, каждая с \(KN\) символами, представляющими картинку увеличенного сигнала.

Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести среднее арифметическое всех элементов матрицы с точностью до 2 знаков после запятой.
Создадим эффект старой 8-битной графики! Разделим фото на блоки k×k и каждый блок заменим на один пиксель со средней яркостью. Программа получает на вход размеры фото n и m (оба делятся на k нацело), затем n строк по m чисел - пиксели, затем размер блока k. Программа должна вывести "пикселизированное" изображение: (n/k) строк по (m/k) чисел. Каждое число - это среднее арифметическое блока k×k из исходного изображения, округлённое вниз.
Нужно слегка размыть изображение для художественного эффекта. Используем простое размытие: каждый пиксель заменяется на среднее значение его самого и соседей (сверху, снизу, слева, справа). Программа получает на вход размеры изображения n и m, затем n строк по m чисел - яркость пикселей. Программа должна вывести размытое изображение: n строк по m чисел. Для каждого пикселя считаем среднее арифметическое его самого и существующих соседей (для угловых и крайних пикселей соседей меньше). Ответ округлять до целого вниз.
Вы сделали селфи, но камера всё перевернула зеркально! Нужно отразить картинку по горизонтали (слева направо). Программа получает на вход размеры картинки n и m (высота и ширина), затем n строк по m чисел - пиксели картинки. Программа должна вывести отражённую по горизонтали картинку: n строк по m чисел. Первый столбец становится последним, второй - предпоследним и т.д.
В ресторане официанты получают чаевые. Строки — официанты, столбцы — дни. Найдите сумму всех чаевых только тех официантов, которые заработали выше среднего.

Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество официантов и дней. Следующие n строк содержат по m целых неотрицательных чисел — чаевые в рублях.

Формат выходных данных: Одно целое число — сумма всех элементов строк, чья сумма строго больше среднего значения по всей матрице.

Примечание
В примере первый официант заработал 100, второй - 260, третий 120. Средний заработок - 160. В искомую сумму берем только заработок второго официанта - 260. Ответ 260

Дано количество целых чисел n. Далее в n строках вводятся целые числа. Найти разницу между максимальным и минимальным элементами последовательности.

Формат входных данных

  • Первая строка: количество чисел n - целое положительное число. Количество чисел не больше 100.

  • Следующие n строк: целые числа. Каждое число по модулю не превышает 107.

Формат выходных данных

  • Одно число - разница между максимумом и минимумом.

65795#65795
В онлайн-симуляции одной игры был представлен алгоритм уничтожения двух квадратных матриц одинакового размера.
В самом начале симуляции задаются две матрицы, которые стоят вплотную друг к другу.
Далее происходит уничтожение матриц – строки, которые соприкасаются у двух матриц числами, которые равны, уничтожаются (пример на картинке), затем обе матрицы поворачиваются одновременно на 90 градусов по часовой стрелке и повторяется алгоритм уничтожения. Матрицы уничтожаются до тех пор, пока есть чему уничтожаться. Даже если после первого поворота ничего не уничтожилось, то может уничтожиться после нескольких.

В данном случае заданы две квадратные матрицы размер 3*3. Их поставили вплотную друг к другу, соприкасается только одна строка по одинаковым числам (строка 2).

Потому данная строка полностью удаляется в двух матрицах, потому получаем.

Далее каждая матрица вращается по часовой стрелке на 90 градусов.


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

Формат входных данных
На первой строке подаётся целое число N – размер квадратных матриц (1 <= N <= 1000).
Далее на N строках подаётся по N целых чисел в диапазоне от -1000 до 1000 – левая матрица.
Далее на N строках подаётся по N целых чисел в диапазоне от -1000 до 1000 – правая матрица.
Формат выходных данных
Вывести на одной строке через пробел сумму чисел оставшихся ячеек левой матрицы и правой матрицы, соответственно.



 
Требуется поменять местами первый элемент массива с максимальным.

Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).

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

Входные данные
В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива.

Во второй строке вводится N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).

Выходные данные
Вывести одно число – номер максимального элемента в массиве. Если в массиве несколько максимальных элементов, выведите номер любого из них.
Дан массив из N элементов (N<=100) 
Напишите программу, которая осуществляет циклический сдвиг влево элементов, стоящих на нечетных местах (нумерация элементов начинается с 0).

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

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

 
Примеры
Входные данные Выходные данные
1
6
1 2 3 4 5 6
1 4 3 6 5 2
Ромб#50344

На клетчатом поле размера \(n \times n\), где \(n = 2k+1\) — нечетное число, необходимо изобразить ромб.

Центром поля будем называть клетку \((k + 1, k + 1)\). Расстояние между двумя клетками \((x_1, y_1)\) и \((x_2, y_2)\) будем называть величину \(|x_1 - x_2| + |y_1 - y_2|\).

Ромб с параметрами \((a, b)\) — это множество клеток, расстояние от которых до центра лежит в диапазоне от \(a\) до \(b\), включительно.

По заданным \(n\), \(a\) и \(b\) изобразите ромб.

Формат входных данных
На первой строке ввода находится целое число \(n\) (\(1 \le n \le 201\), \(n\) нечетно).

На второй строке ввода находится целое число \(a\). На третьей строке ввода находится целое число \(b\) (\(0 \le a \le b\), если \(k\) таково, что \(n = 2k+1\), то \(b \le k + 1\)).

Формат выходных данных
Выведите \(n\) строк по \(n\) символов. Клетка ромба обозначается символом <<*>>, клетка, не лежащая в ромбе, обозначается символом <<.>>.

В двумерном массиве NxM замените значения всех четных элементов массива на значение A

Формат входных данных

В первой строке вводятся через пробел количество строк N (1<=N<=20) и количество столбцов M (1<=M<=20) двумерного массива. Далее идет N строк по M элементов в строке - элементы двумерного массива. Все элементы двумерного массива по модулю не превышают  50. В N+1 строке записано число A (100<=A<=200)


Формат выходных данных
Выведите измененный двумерный массив на экран. Элементы в строке должны разделяться одним пробелом.
 
В двумерном массиве NxM замените значение элемента, расположенного на пересечении строки n1 и столбца m1, на значение A. Нумерация строк и столбцов начинается с 1.

Формат входных данных
В первой строке вводятся через пробел количество строк N (1<=N<=20) и количество столбцов M (1<=M<=20) двумерного массива. Далее идет N строк по M элементов в строке - элементы двумерного массива. Все элементы двумерного массива по модулю не превышают  50. В N+1 строке идут два числа n1, m1 (1<=n1<=N, 1<=m1<=M). В N+2 строке записано число A

Формат выходных данных
Выведите измененный двумерный массив на экран. Элементы в строке должны разделяться одним пробелом.
 
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет максимальное значение. Если максимальных элементов несколько, то необходимо взять последний из них (максимальный элемент с большим индексом). Индексация элементов начинается с 0.

Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.

Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N


Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
 
 
Примеры
Входные данные Выходные данные
1
5 2
1 -2 -1 2 -2
1 -2 2 -1 -2
Дан двумерный массив A размерностью NxM. Напишите программу, которая определяет сумму всех элементов матрицы, а также какую долю в этой сумме составляет сумма элементов каждого столбца.

Входные данные
В первой строке входных данных записаны через один пробел два натуральных числа N и M ( 0 < N, M <= 25). Далее идут N строк по M положительных целых чисел в каждой - элементы матрицы A (каждый элемент матрицы не превышает 105).

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

Шахматный конь, расположенный в центре доски держит под ударом 8 полей. В углу только лишь 2 поля.
Вам задано расположение коня на шахматной доске. Выведите на экран шахматную доску, с расположенным на ней конем, а также отметьте все поля, которые конь держит под ударом. Поле, где расположен конь, отметьте английской буквой «K». Поля, которые он держит под ударом, отметьте символами «*». Остальные клетки заполните точками.


Входные данные

Программа получает на вход два числа - координаты коня на шахматной доске (доска размером 8х8). Координаты вводятся на одной строке через пробел. Первое число обозначает номер строки, а второе — номер столбца. Все числа принимают значения от 1 до 8.


Выходные данные

Выведите на экран изображение доски так, как это показано в примере. Обратите внимание, что символы в одной строке разделены пробелом.

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