Страницы

Уроки 49, 50 Двумерный массив. Решение задач.

Задания

Задание 1. Сформировать массив вида

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1, если n и m – размеры массива вводятся.


Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива

Формат вывода:
Построчно выводятся элементы таблицы

     Посмотреть решение    



Экспериментальный раздел работы

1. Измените программу, чтобы 1 заполнялась побочная диагональ.
2. Чтобы 1 заполнялись обе диагонали.


Задание 2. Поменять местами первую строку двумерного массива с третьей, а вторую – с четвертой.

Указание. Строк в массиве - 4! Для решения можно воспользоваться подпрограммой, которая меняет значения двух переменных: a:=b, b:=c, c:=a.


Формат ввода:
В первой строке вводится число  m - количество  столбцов массива
В следующих строках находятся элементы массива построчно

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

     Тесты         Посмотреть решение     


Задание 3. Написать программу преобразования целочисленного двумерного массива по следующему правилу: каждый элемент массива заменяется суммой остальных элементов, расположенных в данном столбце.

Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно

Формат вывода:
Построчно выводятся элементы таблицы

     Тесты         Посмотреть решение     



Задание 4. Напишите программу, определяющую наибольшее по модулю отклонение элементов двумерного массива от их среднего значения.

Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно

Формат вывода:
Вывести число - максимальное отклонение элементов от среднего значения с точностью до трех знаков.

     Тесты         Посмотреть решение     



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

Указание.  Пусть задан массив А 3х3:
5 6 3
2 8 7
1 0 9
Должны получить массив В 3х3:
9 7 3
0 8 6
1 2 5

B11 <-> A33
B12 <-> A23
B21 <-> A32
и т.д., т.е. B[I,J] <-> A[L,M]

Внимательно изучив соответствие, можно утверждать, что   I+M = N+1, J+L = N+1.

Следовательно, правило преобразования элементов выглядит следующим образом:
B[I,J] = A[N+1-J,N+1–I].


Формат ввода:
В первой строке вводится число n  - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно

Формат вывода:
Построчно выводятся элементы таблицы

     Тесты         Посмотреть решение     



Задание 6. Транспонированием квадратной матрицы называется такое её преобразование, при котором строки и столбцы меняются местами: i-тый столбец становится i-той строкой. Дана квадратная матрица размером NxN. Получить транспонированную матрицу.

Указание.  Пусть задан массив А 3х3:
0 1 2
3 4 5
6 7 8
Получим массив В:
0 3 6
1 4 7
2 5 8.


Формат ввода:
В первой строке вводится число n  - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно

Формат вывода:
Построчно выводятся элементы таблицы

     Тесты         Посмотреть решение     



Задание 7. На чемпионате по фигурному катанию M судей оценивают катание N фигуристов. Результаты заносятся в двумерный массив NxM.
Например, 4 судьи оценивают 5 фигуристов:
5.2 6.0 5.4 5.7
5.7 5.8 5.9 5.4
5.1 5.0 5.4 5.3
5.4 5.6 5.5 5.4
5.6 5.0 5.4 5.2
Баллы каждого фигуриста подсчитываются следующим образом: вычеркивают самую низкую и самую высокие отметки и находят среднее арифметическое оставшихся отметок. Найти номер фигуриста, который имеет наивысший балл.


Формат ввода:
В первой строке вводятся числа n и m - количество фигуристов и количество судей
В следующих строках находятся отметки каждого фигуриста построчно

Формат вывода:
Вывести число - номер фигуриста, который имеет максимальный балл.

     Тесты         Посмотреть решение     


Задания для самостоятельной работы

1. Подсчитать количество четных отрицательных элементов в массиве размером МхN.

2. Сформировать массив
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

3. Найти наибольшее число, кратное 3, в массиве размером МхN.

4. Таблица круга футбольного чемпионата, в котором участвовало N команд, задана массивом NxN. Найти число команд, которые имеют больше побед, чем поражений. Выяснить, имеется ли хотя бы одна команда, выигравшая более половины игр.