Из заданной матрицы А(7х5), элементы которой формируются как массив случайных чисел, сформировать одномерный массив В, состоящий из минимальных элементов столбцов матрицы. Во вновь сформированном массиве В определить среднее арифметическое элементов. Исходную матрицу А и полученный массив В записать в текстовый файл.
Ниже есть наработка:
uses crt;
var a:array[1..5,1..7] of integer;
b:array[1..7] of integer;
f:text;
min,j,i,m:integer;
begin
assign(f,'Результат задачи 1.1.txt');
rewrite(f);
begin
clrscr; randomize;
writeln('Матрица А:');
for i:=1 to 5 do
begin
for j:=1 to 7 do
begin
a[i,j]:=random(100)-50;
write(a[i,j]:4);
if i=j then
b[i]:=a[i,j];
end;
writeln;
end;
writeln;
writeln('Исходный массив В:');
for i:=1 to 7 do
write(b[i]:4);
writeln;
for i:=1 to 7 do
begin
if b[i]
begin
min:=b[i];
m:=i;
end;
end;
writeln;
writeln('Минимальный элемент b[',m,'] = ',b[m]);
readkey;
writeln;
writeln(f,a[i,j],b[i]);
writeln(f,' ');
end;
close(f);
end.
Ответы
Ответ дал:
0
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=(7,5);
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(col->col.Min).ToArray; b.Println;
var fn:='Результат задачи 1.1.txt';
var f:Text;
Assign(f,fn); Rewrite(f);
for var i:=0 to m-1 do begin
for var j:=0 to n-1 do Write(f,a[i,j]:4);
Writeln(f)
end;
for var i:=0 to n-1 do Write(f,b[i]:4);
Writeln(f);
f.Close
end.
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=(7,5);
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(col->col.Min).ToArray; b.Println;
var fn:='Результат задачи 1.1.txt';
var f:Text;
Assign(f,fn); Rewrite(f);
for var i:=0 to m-1 do begin
for var j:=0 to n-1 do Write(f,a[i,j]:4);
Writeln(f)
end;
for var i:=0 to n-1 do Write(f,b[i]:4);
Writeln(f);
f.Close
end.
Ответ дал:
0
А среднее арифметическое массива B как определить?
Ответ дал:
0
Массива B? b.Average.Println; И все.
Ответ дал:
0
Огромное спасибо
Вас заинтересует
1 год назад
1 год назад
2 года назад
8 лет назад
8 лет назад