Программа ввода и вывода элементов массива может выглядеть следующим образом:
program z1;const nm=10; mm=10;
type mas=array[1..nm,1..mm] of real;
var a:mas;
i,j,n,m:integer;
procedure zap(var a:mas);
var i,j:integer;
begin
assign(input,'input.txt');
reset(input);
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
close(input);
end;
var i,j:integer;
begin
assign(input,'input.txt');
reset(input);
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
close(input);
end;
procedure vyv( a:mas);
var i,j:integer;
begin
assign(output,'output.txt');
rewrite(output);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:8:2);
writeln;
end;
close(output);
end;
begin
zap(a);
vyv(a);
end.
2. Найти минимальный элемент среди элементов главной и побочной диагоналей.
Задание 2. Найти количество отрицательных элементов в каждой строке.
Указание: количество элементов каждой строки хранить в одномерном массиве соответствующей размерности.
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
2. Найти количество кратных 5 и 2 элементов в каждой строке.
3. Найти количество кратных 5 или 2 элементов в каждой строке.
4. Найти количество отрицательных элементов в каждом столбце.
Задание 3. Дан двумерный массив А, состоящий из n x m вещественных чисел. Известно, что среди его элементов только два равны между собой. Напечатать их индексы.
Указание: Для просмотра первого элемента использовать циклы по переменным i и j, для просмотра второго элемента использовать циклы по переменным i1 и j1.
Сравниваем a[i,j] c a[i1,j1]. Для исключения просмотра одного и того же элемента проверить условие (not((i=i1) and (j=j1))).
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке - индексы первого из равных элементов
Во второй строке - индексы второго из равных элементов
Тесты Посмотреть решение
Задание 4. Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали.
Формат ввода:
В первой строке вводится число n - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
вывести YES или NO
Тесты Посмотреть решение
Задание 5. В массиве размерностью NxM к элементам четных столбцов прибавить элемент первого столбца соответствующей строки.
Задание 6. Заполнить массив А размером NxM "змейкой" следующим образом:
Формат вывода
Вывести построчно элементы массива
Посмотреть решение
1. Заменить все отрицательные элементы на противоположные.
var i,j:integer;
begin
assign(output,'output.txt');
rewrite(output);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:8:2);
writeln;
end;
close(output);
end;
begin
zap(a);
vyv(a);
end.
Сохраните программу в файл и используйте как шаблон для решения задач с двумерным массивом.
Задания
Задание 1. Найти максимальный элемент массива и его номера. Элементы могут повторяться.
Указание: Поиск максимального элемента в двумерном массиве осуществляется таким же образом, как и в линейном массиве: предполагают, что максимальный - это первый элемент, затем максимальный сравнивается со следующим элементом, и если максимальный окажется меньше, то заменяем его значение.
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке - максимальный элемент
Во второй и следующих строках номер строки и номер столбца максимального элемента
Тесты Посмотреть решение
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке - максимальный элемент
Во второй и следующих строках номер строки и номер столбца максимального элемента
Тесты Посмотреть решение
Экспериментальный раздел
1. Найти минимальный элемент массива и его номера. Элементы могут повторяться.2. Найти минимальный элемент среди элементов главной и побочной диагоналей.
Задание 2. Найти количество отрицательных элементов в каждой строке.
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В строку записаны числа - количества отрицательных элементов в каждой строке
Тесты Посмотреть решение
В строку записаны числа - количества отрицательных элементов в каждой строке
Тесты Посмотреть решение
Экспериментальный раздел
1. Найти количество кратных 5 элементов в каждой строке.2. Найти количество кратных 5 и 2 элементов в каждой строке.
3. Найти количество кратных 5 или 2 элементов в каждой строке.
4. Найти количество отрицательных элементов в каждом столбце.
Задание 3. Дан двумерный массив А, состоящий из n x m вещественных чисел. Известно, что среди его элементов только два равны между собой. Напечатать их индексы.
Указание: Для просмотра первого элемента использовать циклы по переменным i и j, для просмотра второго элемента использовать циклы по переменным i1 и j1.
Сравниваем a[i,j] c a[i1,j1]. Для исключения просмотра одного и того же элемента проверить условие (not((i=i1) and (j=j1))).
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке - индексы первого из равных элементов
Во второй строке - индексы второго из равных элементов
Тесты Посмотреть решение
Задание 4. Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали.
Указание: В задачах подобного типа необходимо увидеть зависимость между индексами элементов массива.
Если массив является симметричным, то для него выполняется равенство
A[i, j]=A[j, i] для всех i=1..n и j=1..n.
Формат ввода:
В первой строке вводится число n - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
вывести YES или NO
Тесты Посмотреть решение
Экспериментальный раздел
1. Определить, является ли данный квадратный массив симметричным относительно своей побочной диагонали.Задание 5. В массиве размерностью NxM к элементам четных столбцов прибавить элемент первого столбца соответствующей строки.
Указание: рассматриваем только четные столбцы и к элементу первой строки прибавляем a[1,1], к элементу второй строки прибавляем a[2,1] и т.д.
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
Построчно элементы преобразованного массива
Тесты Посмотреть решение
2. К нечетным элементам прибавить соответствующие по строке элементы главной диагонали.
Формат ввода:
В первой строке вводятся числа n и m - количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
Построчно элементы преобразованного массива
Тесты Посмотреть решение
Экспериментальный раздел
1. В массиве размерностью NxM к элементам четных строк прибавить элемент первой строки соответствующего столбца.2. К нечетным элементам прибавить соответствующие по строке элементы главной диагонали.
Задание 6. Заполнить массив А размером NxM "змейкой" следующим образом:
1
|
2
|
3
|
4
|
5
|
6
|
7
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
28
|
27
|
26
|
25
|
24
|
23
|
22
|
Указание: Для того, чтобы заполнить, надо вывести правило заполнения:
· если строка нечетная, то A[i,j]=(i-1)*m+j;
· если строка четная, то A[i,j]=i*m-j+1.
Формат вывода
Вывести построчно элементы массива
Посмотреть решение
Экспериментальный раздел
1. Заполнить массив размером m x n змейкой, начиная с последнего элемента.
22
|
23
|
24
|
25
|
26
|
27
|
28
|
21
|
20
|
19
|
18
|
17
|
16
|
15
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
Задания для самостоятельного решения
1. Заменить все отрицательные элементы на противоположные.
2. Дан массив D(6,5). Выведите его на экран в виде таблицы. Найдите и выведите количество элементов больших среднего арифметического всех его элементов.
3. Заполнить массив А размером NxM следующим образом:
21
|
20
|
19
|
18
|
17
|
16
|
15
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|