Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

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. Обнулить элементы матрицы, лежащие выше главной диагонали.