- •Федеральное агентство по образованию
- •153003 Г. Иваново, ул. Рабфаковская, 34 Введение
- •Работа № 1. Прямые программы
- •Работа № 2. Разветвляющиеся программы
- •Работа № 3. Арифметические циклы с простой переменной
- •Работа № 4. Арифметические циклы с индексной переменной
- •Работа № 5.Итерационные циклы
- •Работа № 7. Работа с двумерным массивом
- •Работа № 8. Функции и подпрограммы
- •Работа № 9. Модули и файлы
- •Работа № 10. Строковые переменные
- •Приложение. Типовые операции в циклических программах
- •Содержание
Работа № 7. Работа с двумерным массивом
В повседневной практике очень часто информацию представляют в виде таблиц, состоящих из строк и столбцов. В программировании такие таблицы реализуются с помощью двумерных массивов. Большинство операций с массивами сопровождается последовательным перебором их элементов по обоим измерениям, то есть организацией двойных вложенных циклов. Таким образом, решение задач обработки массивов сводится к построению программ со сложными циклами и данная работа является продолжением предыдущей темы «Сложные циклы».
Задание. Напишите программу, которая выполняет следующие действия:
читает с клавиатуры значения элементов матриц А(6х6) и В(3х3);
транспонирует матрицы (заменяет строки на столбцы);
выводит результаты на экран в форматированном виде;
читает с клавиатуры значения элементов матриц А(5х5) и В(4х4);
формирует массив С из минимальных значений элементов строк матриц А и В;
выводит значения элементов массива С на экран;
читает с клавиатуры значения элементов матриц А(4х4) и В(3х3);
преобразует матрицы таким образом, что последние строки становятся первыми;
формирует массив С из минимальных значений элементов строк матриц А и В;
выводит значения элементов массива С на экран;
вводит с клавиатуры числа в матрицы А(3х3), В(4х4);
заменяет в матрицах отрицательные числа на нули;
отыскивает максимальные значения столбцов и размещает их в первой строке соответствующего им столбца со сдвигом всех остальных чисел вниз по этому столбцу;
выводит матрицы на экран в форматированном виде.
Контрольное задание № 7. Организовать программу обработки двумерного массива А(6х6) – квадратной матрицы из шести строк и шести столбцов – в соответствии с заданным вариантом.
A1,1 A1,6
11 |
-24 |
3 |
-43 |
5 |
1 |
-14 |
2 |
-7 |
18 |
-29 |
10 |
10 |
12 |
45 |
-7 |
-3 |
11 |
6 |
11 |
44 |
41 |
-3 |
4 |
19 |
-23 |
9 |
17 |
15 |
2 |
13 |
7 |
-10 |
32 |
5 |
13 |
A6,1 A6,6
Выделить в отдельные массивы элементы матрицы A, заключенные в прямоугольниках с вершинами A1,1 - A1,3 - A3,3 - A3,1 и A4,4 - A4,6 -A6,6 -A6,4 . Произвести их поэлементное сложение.
Перебирая элементы строк массива, найти в них первый элемент, удовлетворяющий требованию Ai,j > 40. Сформировать массив из элементов, расположенных выше и левее найденного элемента, и найти для них среднее арифметическое всех элементов.
Найти минимальный и максимальный по модулю элементы матрицы А. Выделить в новый массив прямоугольную область, на концах диагонали которой располагались бы найденные экстремальные значения. Инвертировать (заменить) знаки элементов нового массива.
Из положительных элементов матрицы A сформировать новую, исключив все отрицательные элементы со сдвигом оставшихся влево по строкам. Строки новой матрицы с недостаточным количеством элементов дополнить нулями.
Выделить треугольную область матрицы A, расположенную выше главной диагонали от A6,1 до A1,6 , исключив элементы самой диагонали. Свободную область полученной матрицы дополнить элементами, расположенными симметрично новой диагонали, и просуммировать все элементы новой матрицы.
Выделить из исходной матрицы две новые, используя элементы, одни из которых расположены выше двух верхних отрезков главных диагоналей матрицы A6,1 - A1,6 и A1,1 - A6,6 , а другие – ниже двух других (нижних) отрезков этих диагоналей. Элементы самих диагоналей из рассмотрения исключить. В качестве недостающих элементов использовать нулевые. Для каждой новой матрицы вычислить среднее арифметическое всех элементов.
Из кратных числу 3 значений элементов матрицы A сформировать новую, заменив все остальные элементы единицами. Вычислить произведение всех элементов новой матрицы.
Выделить в отдельные массивы элементы матрицы A, заключенные в прямоугольниках с вершинами A4,1 - A4,3 - A6,3 – A6,1 и A1,4 - A1,6 -A3,6 -A3,4 . Произвести их поэлементное вычитание.
Перебирая элементы строк массива, найти в них первый элемент, удовлетворяющий требованию Ai,j = -7. Сформировать матрицу из элементов, расположенных ниже и правее найденного элемента, и найти для них среднее геометрическое модулей всех элементов.
Найти минимальный и максимальный отрицательные элементы массива А. Выделить в новый массив прямоугольную область, на концах диагонали которой располагались бы найденные экстремальные значения. Рассчитать количество отрицательных элементов нового массива.
Из отрицательных элементов матрицы A сформировать новую, исключив все положительные элементы со сдвигом оставшихся вверх по столбцам. Столбцы новой матрицы с недостаточным количеством элементов дополнить единицей с минусом.
Выделить треугольную область матрицы A, расположенную ниже диагонали матрицы от A6,1 до A1,6 , исключив элементы самой диагонали. Свободную область полученной матрицы дополнить элементами, расположенными симметрично новой диагонали, и перемножить все элементы новой матрицы.
Выделить из исходной матрицы две новые, используя элементы, одни из которых расположены левее двух левых отрезков главных диагоналей матрицы A6,1 - A1,6 и A1,1 - A6,6 , а другие – правее двух других (правых) отрезков этих диагоналей. Элементы самих диагоналей из рассмотрения исключить. Свободные элементы заменить нулями. Для каждой новой матрицы вычислить сумму всех элементов.
Из четных значений элементов матрицы A сформировать новую, заменив нечетные значения нулями. Вычислить сумму всех элементов новой матрицы.
Сформировать новую матрицу, расположив сначала элементы строк матрицы в обратном порядке, а затем выполнить ее транспонирование (замену строк на столбцы). Вычислить сумму элементов первых трех рядов полученной матрицы.
Выделить в отдельные массивы элементы матрицы A, заключенные в прямоугольниках с вершинами A1,1 - A1,3 - A3,3 - A3,1 и A4,1 - A4,3 -A6,3 -A6,1 . Произвести их поэлементное умножение.
Перебирая элементы столбцов массива, найти в них первый элемент, кратный числу 22. Сформировать матрицу из элементов, расположенных выше и правее найденного элемента, и найти сумму всех ее элементов.
Найти минимальный и максимальный положительные элементы матрицы А. Выделить в новый массив прямоугольную область, на концах диагонали которой располагались бы найденные экстремальные значения. Рассчитать сумму элементов нового массива.
Из положительных элементов матрицы A сформировать новую, заменив все отрицательные элементы нулями и переписав элементы полученных строк в обратном порядке.
Выделить треугольную область матрицы A, расположенную выше главной диагонали от A1,1 до A6,6 , исключив элементы самой диагонали. Незаполненную область полученной матрицы дополнить элементами, расположенными симметрично новой диагонали, и просуммировать все элементы новой матрицы.
Выделить элементы двух матриц, одни из которых расположены выше двух верхних отрезков главных диагоналей матрицы A6,1 - A1,6 и A1,1 - A6,6 , а другие – ниже двух других (нижних) отрезков этих диагоналей. Элементы самих диагоналей из рассмотрения исключить. Свободные элементы заменить единицами. Для каждой новой матрицы вычислить сумму всех элементов.
Из некратных числу 3 элементов матрицы A сформировать новую, заменив все остальные элементы единицами. Вычислить среднее геометрическое всех элементов новой матрицы.
Сформировать новую матрицу, сначала выполнив ее транспонирование (замену строк на столбцы), а затем расположив элементы столбцов матрицы в обратном порядке. Вычислить среднее арифметическое всех элементов первых трех столбцов полученной матрицы.
Выделить в отдельные массивы элементы матрицы A, заключенные в прямоугольниках с вершинами A1,4 - A1,6 - A3,6 - A3,4 и A4,4 – A4,6 -A6,6 -A6,4 . Произвести их поэлементное деление.
Перебирая элементы столбцов матрицы A, найти в них последний элемент, кратный числу 11. Сформировать массив из элементов, расположенных ниже и левее найденного элемента, и найти среднее арифметическое всех его элементов.
Найти минимальный положительный и максимальный по модулю элементы массива А. Выделить в новый массив прямоугольную область, на концах диагонали которой располагались бы найденные экстремальные значения. Найти произведение элементов нового массива, удваивая при этом его отрицательные значения.
Из отрицательных элементов матрицы A сформировать новую, заменив все положительные элементы на единицу с минусом и переписав элементы полученных столбцов в обратным порядке.
Выделить треугольную область матрицы A, расположенную ниже диагонали матрицы от A1,1 до A6,6 , исключив элементы самой диагонали. Свободную область полученной матрицы дополнить элементами, расположенными симметрично новой диагонали, и перемножить все элементы новой матрицы.
Выделить элементы двух матриц, одни из которых расположены левее двух левых отрезков главных диагоналей матрицы A6,1 - A1,6 и A1,1 - A6,6 , а другие – правее двух других (правых) отрезков этих диагоналей. Элементы самих диагоналей из рассмотрения исключить. Свободные элементы заменить нулями. Для новых матриц вычислить среднее арифметическое всех элементов.
Из нечетных значений элементов матрицы A сформировать новую, заменив все остальные элементы нулями. Вычислить среднее арифметическое всех элементов новой матрицы.