Тема: Программирование с использованием двумерных массивов.
Необходимые сведения
Отладка программы с использованием точек останова (команда CTRL-F8).
Пример: Найти максимальный элемент матрицы размером 3´3:
Вариант программы
Const
N1=3; N2=3;
A : Array[1..N1, 1..N2] Of Real = ((2,1,3), (8,6, –1), (4,4,2));
Var
I, J : Integer; Q : Real;
Begin
Q:=A[1,1];
For I:=1 To N1 Do
For J:=1 To N2 Do
If A[I,J] > Q Then Q:=A[I,J];
WriteLn (‘максимальный элемент=’, Q:8:4)
End.
Варианты заданий
1. Задан двумерный массив (матрица) вещественных чисел. Найти наибольший и наименьший элементы k-й строки, 1£k£N, l-го столбца, 1£k£М, где N – число строк, М – число столбцов. Числа N и М задать константами, массив описать как типизированную константу.
2. Задан двумерный массив вещественных чисел размерности 3´3. Найти номер строки и номер столбца, в которых находится наименьший элемент. Массив описать как типизированную константу.
3. Задан двумерный массив N´N вещественных чисел. Необходимо каждый элемент соответствующей строки разделить на сумму элементов этой строки. Значения элементов массива ввести с клавиатуры, N=5.
4. Задан двумерный массив вещественных чисел. Заменить все отрицательные элементы нулями и подсчитать сумму положительных элементов в каждой строке. Размерность массива и значения элементов массива ввести с клавиатуры.
5. Заданы натуральные N > 0 и последовательность вещественных чисел b1, b2,…,bn. Сформировать массив А по правилу: . Значения N и последовательность чисел b1,b2,…,bn ввести с клавиатуры.
6. Определить, является ли заданная целая квадратная матрица 10-го порядка ортонормированной, т.е. такой, в которой скалярное произведение каждой пары различный строк равно 0, а скалярное произведение каждой строки на себя равно 1.
7. Задан двумерный массив В размерности 3´5. Получить новый массив с именем С путем удаления из В строки и столбца, в которых содержится максимальный элемент матрицы. Описать массив В как типизированную:
8. Задан двумерный массив А размерности M´N. Дополнить его М+1-й строкой и N+1–M столбцом, в которые записать суммы элементов соответствующих строк или столбцов исходного массива А, В элемент аm+1,n+1 поместите сумму элементов исходного массив. Элементы массива А необходимо ввести с клавиатуры. М=3, Т=3.
9. Задана матрица размерности М´N. Необходимо, не используя другого вспомогательного массива, транспонировать матрицу (переставить местами столбцы строки). Исходные данные ввести с клавиатуры.
10. Заданы два одномерных массива А и В размерности N и М соответственно. Сформировать двумерный массив D размерности M´N по правилу и обнулить отрицательные элементы D.
11. Задана вещественная квадратная матрица порядка 4. Из этой матрицы выбрать строку, сумму модулей коэффициентов которой наибольшая. Далее в этой строке найти наименьший элемент. Значения коэффициент матрицы ввести с клавиатуры.
12. Задана вещественная матрица размерности М´N. В каждом столбце найти максимальный элемент, затем среди этих чисел найти минимальное. Указать индексы этого элемента.
13. Заданы целые положительные числа BN, M и Р. Определить вектор , элементы которого вычисляются по правилу
где
Исходные данные: N=3, M=4, P=46.
14. Задана вещественная матрица размерности М´N. Построить матрицу В, где элемент bij равен разности суммы модулей коэффициентов столбца и суммы модулей коэффициентов строки содержащих данный элемент. Исходные данные ввести с клавиатуры.
15. Задана вещественная матрица размерности 7´7, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.
Контрольные вопросы:
1. Какие вопросы отладчика системы TURBO PASCAL вы знаете?
2. Как установить и удалить точки прерывания в программе?
3. Как вставить новые переменные и выражения в одно просмотра?