Предмет: Информатика,
автор: leravaleriyastepa
Составить программу в PASCAL.
Ввести размерность матрицы и значения ее элементов.
Определить максимальный и минимальный элемент. Переставить их местами.
Найти среднее арифметическое отрицательных элементов в i-ой строке.
Ответы
Автор ответа:
0
const
m1 = 20;
n1 = 20;
var
a: array[1..m1, 1..n1] of integer;
b: array[1..m1] of real;
i, j, m, n, max, min, t, imax, jmax, imin, jmin, s, kn: integer;
begin
Write('Введите через пробел число строк и столбцов массива: ');
Readln(m, n);
max := -32768; min := 32767;
for i := 1 to m do
begin
Write('Строка ', i, ': ');
for j := 1 to n do
begin
Read(t);
a[i, j] := t;
if max < t then begin max := t; imax := i; jmax := j end
else if min > t then begin min := t; imin := i; jmin := j end
end
end;
a[imax, jmax] := min; a[imin, jmin] := max;
Writeln('Результирующий массив');
for i := 1 to m do
begin
s := 0; kn := 0;
for j := 1 to n do
begin
Write(a[i, j]:6);
if a[i, j] < 0 then begin s := s + a[i, j]; Inc(kn) end
end;
Writeln;
if kn > 0 then b[i] := s / kn else b[i] := 0
end;
Writeln('Среднее арифметическое отрицательных элементов построчно:');
for i := 1 to m do Writeln(b[i]:10:4)
end.
Тестовое решение:
Введите через пробел число строк и столбцов массива: 4 6
Строка 1: 5 -3 0 7 11 -4
Строка 2: 14 -12 -7 13 11 18
Строка 3: 3 11 8 -14 25 15
Строка 4: 15 0 -17 21 0 -21
Результирующий массив
5 -3 0 7 11 -4
14 -12 -7 13 11 18
3 11 8 -14 -21 15
15 0 -17 21 0 25
Среднее арифметическое отрицательных элементов построчно:
-3.5000
-9.5000
-17.5000
-17.0000
m1 = 20;
n1 = 20;
var
a: array[1..m1, 1..n1] of integer;
b: array[1..m1] of real;
i, j, m, n, max, min, t, imax, jmax, imin, jmin, s, kn: integer;
begin
Write('Введите через пробел число строк и столбцов массива: ');
Readln(m, n);
max := -32768; min := 32767;
for i := 1 to m do
begin
Write('Строка ', i, ': ');
for j := 1 to n do
begin
Read(t);
a[i, j] := t;
if max < t then begin max := t; imax := i; jmax := j end
else if min > t then begin min := t; imin := i; jmin := j end
end
end;
a[imax, jmax] := min; a[imin, jmin] := max;
Writeln('Результирующий массив');
for i := 1 to m do
begin
s := 0; kn := 0;
for j := 1 to n do
begin
Write(a[i, j]:6);
if a[i, j] < 0 then begin s := s + a[i, j]; Inc(kn) end
end;
Writeln;
if kn > 0 then b[i] := s / kn else b[i] := 0
end;
Writeln('Среднее арифметическое отрицательных элементов построчно:');
for i := 1 to m do Writeln(b[i]:10:4)
end.
Тестовое решение:
Введите через пробел число строк и столбцов массива: 4 6
Строка 1: 5 -3 0 7 11 -4
Строка 2: 14 -12 -7 13 11 18
Строка 3: 3 11 8 -14 25 15
Строка 4: 15 0 -17 21 0 -21
Результирующий массив
5 -3 0 7 11 -4
14 -12 -7 13 11 18
3 11 8 -14 -21 15
15 0 -17 21 0 25
Среднее арифметическое отрицательных элементов построчно:
-3.5000
-9.5000
-17.5000
-17.0000
Похожие вопросы
Предмет: Қазақ тiлi,
автор: fsfsss
Предмет: Алгебра,
автор: luilui76
Предмет: Английский язык,
автор: videogamenews1611g
Предмет: История,
автор: Kai777
Предмет: Химия,
автор: 081177101