Дана квадратная матрица порядка n(n=5). Получить элементы массива x, равные среднему арифметическому чётных элементов очередного столбца.Паскаль
Ответы
Ответ дал:
0
Для задачи, в которой x - это одномерный массив, который надо получить, программа - в прилагаемом файле.
Приложения:
Ответ дал:
0
// PascalABC.Net 3.0, сборка 1066
const
n=5;
var
a:array[1..n,1..n] of integer;
x:array[1..n] of double;
i,j,k:byte;
begin
Randomize;
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(51)-25;
Write(a[i,j]:4)
end;
Writeln
end;
Writeln('*** Массив x ***');
for j:=1 to n do begin
x[j]:=0; k:=0;
for i:=1 to n do
if a[i,j] mod 2=0 then begin
x[j]:=x[j]+a[i,j]; Inc(k)
end;
if k>0 then x[j]:=x[j]/k;
Write(x[j]:0:5,' ')
end;
Writeln
end.
Тестовое решение:
*** Исходный массив ***
-10 18 -8 -15 5
-21 -18 6 -2 9
-7 22 -4 3 14
21 16 -10 -18 -9
17 3 -14 -18 12
*** Массив x ***
-10.00000 9.50000 -6.00000 -12.66667 13.00000
const
n=5;
var
a:array[1..n,1..n] of integer;
x:array[1..n] of double;
i,j,k:byte;
begin
Randomize;
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(51)-25;
Write(a[i,j]:4)
end;
Writeln
end;
Writeln('*** Массив x ***');
for j:=1 to n do begin
x[j]:=0; k:=0;
for i:=1 to n do
if a[i,j] mod 2=0 then begin
x[j]:=x[j]+a[i,j]; Inc(k)
end;
if k>0 then x[j]:=x[j]/k;
Write(x[j]:0:5,' ')
end;
Writeln
end.
Тестовое решение:
*** Исходный массив ***
-10 18 -8 -15 5
-21 -18 6 -2 9
-7 22 -4 3 14
21 16 -10 -18 -9
17 3 -14 -18 12
*** Массив x ***
-10.00000 9.50000 -6.00000 -12.66667 13.00000
Приложения:
Ответ дал:
0
Кстати, из пяти элементов три оказались целыми....
Ответ дал:
0
Здесь имелось в виду, что целым переменным нельзя присваивать вещественные значения, даже если деление выполняется без остатка. Например, если
Ответ дал:
0
var k:integer; то k:=14/2 будет ошибкой
Ответ дал:
0
Ну это-то бесспорно!
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
9 лет назад
9 лет назад