|
Л. Р. «Двумерные массивы» |
Студент |
Иванов И. И. |
|
Группа |
ХХ-999 |
|
|
Дата |
дд.мм.гг |
|
|
Допуск |
|
|
|
Выполнение |
|
|
|
Отчет |
|
Условие задачи
Ввести двумерный
массив
,
вывести его. Определить
– номер столбца, содержащего наибольшее
количество положительных элементов.
Далее найти максимум среди отрицательных
элементов расположенных правее этого
столбца и поменять его с первым элементом
массива.
Тестовые примеры
1)
Входные данные:
N=4 M=5
Исходный массив A:
1 2 -3 -5 -9
-2 0 -7 -5 -10
-6 7 -7 -1 1
-8 5 -4 -13 -8
Выходные данные:
больше всего положительных элементов в столбце номер 2
массив A после изменения:
-1 2 -3 -5 -9
-2 0 -7 -5 -10
-6 7 -7 1 1
-8 5 -4 -13 -8
Блок-схема


Листинг программы на Pascal
program ABC;
const Nmass=10;
var A:array[1..Nmass,1..Nmass] of integer;
ZAMOK:boolean;
N,M,i,j,k,Imax,Jmax,p,Pmax: byte;
buf:integer;
begin
cls;
//ручной ввод массива
writeLn('Введите число элементов в массиве A');
readLn(N,M);
writeLn('Вводим элементы массива A:');
for i:=1 to N do
for j:=1 to M do
begin
write('A[',i,',',j,']=');
readLn(A[i,j]);
end;
//вывод массива до измененния
writeLn('Исходный массив A:');
for i:=1 to N do
begin
for j:=1 to M do
write(A[i,j]:5);
writeLn;
end;
// определение столбца, в котором больше положительных элементов
// подсчёт положительных в первом столбце
Pmax:=0;
for i:=1 to N do
if A[i,1]>0 then
Pmax:=Pmax+1;
// теперь, зная начальное значение Pmax,
// можем приступить к поиску максимума и
// k-номера столбца,
// содержащего наибольшее число положительных элементов
k:=1;
for j:=2 to M do
begin
p:=0;
for i:=1 to N do
if A[i,j]>0 then
p:=p+1;
if p>Pmax then
begin
Pmax:=p;
k:=j;
end;
end;
writeLn('больше всего положительных элементов в столбце номер ', k);
// теперь ищем максимум среди отрицательных в столбцах справа от k-й
if k<M then
begin
ZAMOK:=TRUE;
for j:=k+1 to M do
for i:=1 to N do
if A[i,j]<0 then
if ZAMOK then
begin
Imax:=i;
Jmax:=j;
ZAMOK:=FALSE;
end
else
if A[i,j]>A[imax, jmax] then
begin
Imax:=i;
Jmax:=j;
end;
if ZAMOK then
writeLn('справа от найденного столбца нет отрицательных элементов')
else
begin
buf:=A[1,1];
A[1,1]:=A[Imax,Jmax];
A[Imax,Jmax]:=buf;
end;
end
else
writeLn('справа от найденного столбца нет элементов');
//вывод массива поле измененния
writeLn;
writeLn('массив A после изменения:');
for i:=1 to N do
begin
for j:=1 to M do
write(A[i,j]:5);
writeLn;
end;
end.
Список задач для лабораторной работы «Двумерные массивы»
-
Ввести двумерный массив
,
вывести его. Если значение суммы
элементов его главной диагонали
превышает сумму элементов побочной,
то квадратом полученной разности
заменить отрицательные элементы под
побочной диагональю. -
Ввести двумерный массив
,
вывести его. Найти максимальный по
значению элемент массива и увеличить
его в два раза. Все остальные элементы
массива уменьшить на значение минимума
последней строки массива. -
Ввести двумерный массив
,
вывести его. Найти максимальный элемент
массива. Если максимум лежит на одной
из диагоналей (главной или побочной),
то увеличить на его удвоенное значение
элементы противоположной диагонали. -
Ввести двумерный массив
,
вывести его. Найти сумму положительных
элементов массива, исключая при этом
те элементы, которые кратны трём.
Полученной суммой заменить отрицательные
элементы последнего столбца. -
Ввести двумерный массив
,
вывести его. Возвести в квадрат те
элементы, модуль значения которых
принадлежит интервалу
.
Определить сколько таковых элементов
оказалось в массиве. -
Ввести двумерный массив
,
вывести его. Если сумма элементов над
главной диагональю окажется больше
чем сумма элементов под ней, то умножить
на два максимальный элемент среди
элементов на побочной диагонали, иначе
– минимальный элемент среди этих
элементов (побочной диагонали) возвести
в квадрат. -
Ввести двумерный массив
,
вывести его. Преобразовать исходный
массив путем сложения его элементов с
произведением элементов того столбца,
который содержит минимальный элемент
всего массива. -
Ввести двумерный массив
,
вывести его. Если в массиве больше
положительных элементов, то поменять
максимальный элемент среди элементов
над главной диагональю с максимальным
элементом под ней, иначе возвести в
квадрат все отрицательные. -
Ввести двумерный массив
,
вывести его. Найти среднее арифметическое
диагональных элементов (главной и
побочной). Все элементы большие найденного
значения, расположенные над побочной
диагональю возвести в квадрат, а
расположенные под ней увеличить на
минимум всего массива.
-
Ввести двумерный массив
,
вывести его. Поменять местами строку,
содержащую максимальный элемент со
строкой, содержащий минимальный элемент.
Если максимум и минимум в одной строке,
то заменить эту строку единицами. -
Ввести целочисленный двумерный массив
,
вывести его. Найти сумму его чётных
элементов, исключая максимальный и
минимальный (всего массива). Найденной
суммой заменить угловые элементы
массива. -
Ввести целочисленный двумерный массив
,
вывести его. Заменить единицами сроку
и столбец, содержащие максимальный
среди тех элементов, значения которых
кратны двум. -
Ввести двумерный массив
,
вывести его. Найти сумму положительных
элементов расположенных одновременно
как над главной, так и над побочной
диагональю. Найденной суммой заменить
элементы, расположенные одновременно
под главной и побочной диагоналями. -
Ввести целочисленный двумерный массив
,
вывести его. Найти суммы элементов
первой и последней строк матрицы. Далее
увеличить на значение максимума всей
матрицы ту строку (первую или последнюю),
чья сумма окажется меньше. -
Ввести целочисленный двумерный массив
,
вывести его. Найти минимальный из
положительных элементов матрицы и этим
значением заменить все нулевые элементы
матрицы, если они есть, а если их нет,
то заменить найденным минимумом
последнюю строку матрицы. -
Ввести целочисленный двумерный массив
,
вывести его. Найти максимальный и
минимальный элементы массива, среди
тех, значения которых кратны двум.
Найденные элементы удвоить, а все
остальные утроить. -
Ввести целочисленный двумерный массив
,
вывести его. Найти сумму положительных
угловых элементов. Найденной суммой
заменить строку содержащую минимальный
элемент и столбец, содержащий максимальный
элемент. -
Ввести двумерный массив
,
вывести его. Возвести в квадрат все
строки расположенные между строкой
содержащей максимум матрицы и строкой,
содержащей минимум этой матрицы. -
Ввести целочисленный двумерный массив
,
вывести его. Найти
–
количество чётных элементов на главной
диагонали. Далее найти максимум в
-й
строке и заменить его суммой нечётных
элементов главной диагонали. -
Ввести целочисленный двумерный массив
,
вывести его. Если максимум и минимум
массива одновременно являются чётными,
то разделить из на два, иначе поменять
местами первый и предпоследний столбец
массива. -
Ввести целочисленный двумерный массив
,
вывести его. Определить
– сколько в массиве элементов кратных
числу
и
–сколько кратных
,
где
и
– номера строк, содержащих, соответственно,
максимальный и минимальный элементы
матрицы. Значением
заменить положительные, а значением
- неотрицательные элементы первой
строки. -
Ввести двумерный массив
,
вывести его. Все столбцы расположенные
правее от столбца, содержащий максимальный
элемент матрицы увеличить на минимальный
элемент матрицы. -
Ввести целочисленный двумерный массив
,
вывести его. Найти произведение тех
элементов, которые нечётны и положительны.
Если среди этих элементов встретится
максимальный элемент всей матрицы, то
не учитывать его в произведении.
Найденным произведением заменить
предпоследнюю строку матрицы. -
Ввести целочисленный двумерный массив
,
вывести его. Найти минимальный элемент
массива среди тех, значения которых
кратны трём. Заменить все строки
предшествующие строке содержащей
найденный минимум удвоенным произведением
максимума и минимума, ранее найденных
среди элементов всего массива. -
Ввести целочисленный двумерный массив
,
вывести его. Определить
–
сколько нечётных элементов содержится
на диагоналях массива. Далее выяснить
координаты максимума среди элементов,
расположенных под побочной диагональю
и уменьшить этот элемент на
. -
Ввести двумерный массив
,
вывести его. Найти координаты максимума
всего массива. Далее найти минимум
среди тех элементов, которые находятся
в столбцах левее столбца содержащего
найденный максимум. Найденным минимумом
заменить найденный максимум. -
Ввести двумерный массив
,
вывести его. Найти
–
количество элементов, чей модуль
превышает величину
.
Если
превышает количество
(количество отрицательных элементов
массива), то заменить отрицательные
элементы величиной
,
в противном случае поменять местами
максимум и минимум. -
Ввести двумерный массив
,
вывести его. Определить в какой строке
больше положительных элементов: в той
которая содержит максимум, или в той,
которая содержит минимум. В строке, где
положительных элементов больше каждый
из положительных элементов возвести
в квадрат. -
Ввести двумерный массив
,
вывести его. Найти сумму угловых
элементов матрицы и сравнить её с
максимумом всей матрицы. Если сумма
окажется больше, то угловые элементы
обнулить, если равна, то угловые элементы
заменить максимумом, а если меньше, то
последний столбец матрицы утроить. -
Ввести двумерный массив
,
вывести его. Найти максимум среди
элементов над главной диагональю и
поменять его с максимумом на побочной
диагонали. -
Ввести двумерный массив
,
вывести его. Найти максимум в массиве
и далее найти минимум среди элементов
той строки и того столбца, где содержится
найденный максимум. Поменять пару
найденных элементов местами.
