IV. Задания повышенной сложности
Лабораторная работа №2
Приемы работы с двумерными массивами (Тема .2.3.2.)
Двумерные массивы. Трехмерные массивы, n-мерные массивы. Объявление двумерного, трехмерного, n-мерного массива. Ввод и вывод двухмерных массивов.
После изучения темы студент должен
знать:
- синтаксис объявления двумерного массива;
- операции над двумерными массивами;
- стандартные функции для работы с двумерными массивами;
Уметь
- осуществлять ввод и вывод двумерных массивов;
- сравнивать двумерные массивы;
- применять стандартные функции для работы с двумерными массивами.
I. Обработка элементов двумерного массива
Задание 1 В тетради код и блок-схема
Ввод и вывод элементов двухмерного массива
Задание 2 В тетради код и блок-схема
С помощью генератора случайных чисел сформировать двухмерный массив и вывести элементы в виде матрицы
writeln(' Введите число строк и столбцов');
readln(n,k);
Randomize; { Стандартная процедура см. теорию}
{ Заполнение матрицы случайными числами}
for i:=1 to n do
for j:=1 to k do
M[i,j]:=Random(500);
writeln(' Элементы заполненной матрицы');
for i:=1 to n do
begin
for j:=1 to k do
write(M[i,j]:4); writeln;
end;
Задание 3. Реализовать и сохранить
Найти сумму элементов прямоугольной матрицы размером MхN
Задание 4. Реализовать и сохранить
Вычислить суммы элементов столбцов заданной матрицы A(N, M).
Тест
Данные | Результат | |
N=2 M=2 | A= | S=(6,4) |
|
Задание 3. В каждой строке заданной матрицы A(N, M) вычислите сумму, количество и среднее арифметическое положительных элементов. (Самостоятельно)
II. Поиск максимальных и минимальных элементов массива
Задание 4. В тетради код и блок-схема
Найти максимальный элемент прямоугольной таблицы размером NхM
Задание 5. Реализовать и сохранить
Подсчитать, сколько раз встречается в заданной целочисленной матрице A(N, M) максимальное по величине число.
Тест
Данные | Результат | |
N=2 M=3 | A= | K=3 |
Задание 6. В тетради код и блок-схема
Дана матрица A(N, M). Найдите её наибольший элемент и номера строки и столбца, на пересечении которых он находится.
III. Обработка строк и столбцов элементов массива
Задание 7. Реализовать и сохранить
В заданной матрице A(N, M) поменять местами строки с номерами P и Q
(1 <= P <= N, 1 <= Q <= N).
Тест
Данные | Результат |
N=3 M=3 P=1 Q=3 |
|
Задание 8. Реализовать и сохранить
В массиве A(N, N) вычислить две суммы элементов, расположенных ниже и выше главной диагонали.
Тест
Данные | Результат |
N=3 | S1=6 S2=9 |
|
IV. Задания повышенной сложности
Задание 9* Реализовать и сохранить
Заполнить элементами таблицу, располагая их по спирали.
var i,j,m,n,l,r : integer;
tab : array [1..50,1..50] of integer;
begin
clrscr;
write('Кол-во строк : '); readln(m);
write('Кол-во столбцов : '); readln(n);
repeat
inc(r);
for i:=r to n-r+1 do begin inc(l);tab[i,r]:=l end;
for i:=r+1 to m-r+1 do begin inc(l);tab[n-r+1,i]:=l end;
for i:=n-r downto r do begin inc(l);tab[i,m-r+1]:=l end;
for i:=m-r downto r+1 do begin inc(l);tab[r,i]:=l end;
until l=m*n;
for j:=1 to m do
for i:=1 to n do
begin
write(tab[i,j]:4);
if i=n then writeln;
end;
readln;
end.
Задание10* Реализовать и сохранить
Расположить по краям таблицы нули
var a : array [1..100,1..100] of longint;
i,j,m,n : longint;
begin
clrscr;
write('кол-во строк ');readln(m);
write('кол-во столбцов ');readln(n);
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',j,']=');readln(a[i,j]);
end;
for i:=1 to m do a[i,1]:=0;
for j:=1 to n do a[m,j]:=0;
for i:=1 to m do a[i,n]:=0;
for j:=1 to n do a[1,j]:=0;
for j:=1 to n do
begin
writeln(' ');
for i:=1 to m do write(' ',a[i,j]);
end;
readln;
end.
Задание 11* В тетради код и блок-схема
Дан прямоугольный целочисленный массив размером N*N. Определить является ли данный массив магическим квадратом, т.е. сумма элементов в строках, столбцах и на главных диагоналях равна (Самостоятельно)
V. Практический контроль
Согласно указанному варианту (номер компьютера), выполнить практическое задание. Формулировку задания, код и блок-схему оформить в тетрадь.
Номер варианта (компьютера) | Задание |
Дана матрица размера M ´ N и целые числа K1 и K2 (1 £ K1 < K2 £ M). Поменять местами строки матрицы с номерами K1 и K2 | |
Дана матрица размера M ´ N. Найти максимальный среди минимальных элементов ее строк | |
Дана матрица размера M ´ N. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки. | |
Дана матрица размера M ´ N. Для каждой строки матрицы с нечетным номером (1, 3, …) найти среднее арифметическое ее элементов. | |
Дана матрица размера M ´ N. В каждом столбце матрицы найти максимальный элемент. | |
Дана матрица размера M ´ N. Найти минимальный среди максимальных элементов ее столбцов | |
Дана матрица размера M ´ N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца. | |
Дана целочисленная матрица размера M ´ N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких строк нет, то вывести 0. | |
Дана матрица размера M ´ N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке. | |
Дана матрица размера M ´ N. Удалить строку, содержащую минимальный элемент матрицы. | |
Дана матрица размера M ´ N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце. | |
Дана матрица размера M ´ N и целое число K (1 £ K £ M). Удалить строку матрицы с номером K. | |
Дана матрица размера M ´ N и целое число K (1 £ K £ N). Удалить столбец матрицы с номером K. | |
Дана целочисленная матрица размера M ´ N. Найти номер первого из ее столбцов, содержащих только нечетные числа. Если таких столбцов нет, то вывести 0. | |
Дана матрица размера M ´ N. Удалить столбец, содержащий максимальный элемент матрицы | |
Дана квадратная матрица A порядка M. Найти сумму элементов ее главной диагонали. | |
Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов ее побочной диагонали, то есть диагонали, содержащей следующие элементы: A1,M, A2,M–1, A3,M–2, …, AM,1. | |
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие ниже главной диагонали. | |
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие выше побочной диагонали. | |
Дана матрица размера M ´ N. Для каждого столбца матрицы с четным номером (2, 4, …) найти сумму его элементов. | |
Дана матрица размера M ´ N. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а также значение наименьшего произведения. | |
Дана матрица размера M ´ N (M — четное число). Поменять местами верхнюю и нижнюю половины матрицы. | |
Дана матрица размера M ´ N (N — четное число). Поменять местами левую и правую половины матрицы. | |
Дана матрица размера M ´ N. Для каждой строки матрицы с нечетным номером (1, 3, …) найти произведение элементов строк. | |
Дана матрица размера M ´ N (M и N — четные числа). Поменять местами левую нижнюю и правую верхнюю четверти матрицы. | |
Дана матрица размера M ´ N (N — четные числа). Элементы главной диагонали отсортировать в порядке возрастания, вывести. Из них найти максимальный и минимальный элементы. | |
Для заданной целочисленной матрицы A(N, M) замените максимальный элемент на минимальный, а минимальный на максимальный. | |
Для заданной целочисленной матрицы A(N, M) определите, является ли сумма её элементов чётным числом, и выведите на печать соответствующий текст. | |
Дана матрица размера M ´ N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы. | |
Дана матрица размера M ´ N. Для каждого столбца матрицы с нечетным номером (1, 3, …) найти сумму его элементов. | |
Дана матрица размера M ´M (M — четные числа). Элементы побочной диагонали отсортировать в порядке убывания, вывести. Из них найти максимальный и минимальный элементы. | |
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие выше главной диагонали. |