Const nx=30; mx=30; var r:array[1..nx,1..mx] of integer;b:array[1..mx] of integer; i,j,n,m,k,sum,min:integer; begin min:=40; randomize; write('Введите n,m: ');readln(n,m); writeln('Исходная матрица: '); for j:=1 to m do begin for i:=1 to n do begin r[i,j]:=random(20)-10; sum:= sum + r[i,j];end; b[j]:=sum;sum:=0; end; for i:=1 to n do begin for j:=1 to m do begin write(r[i,j]:4);end; writeln;end; writeln; for j:=1 to m do begin write(b[j]:4); if min > b[j] then begin min:= b[j]; k:= j;end; end; writeln;writeln; for i:=1 to n do begin for j:=1 to m do begin if j=k then write(r[i,j]:4);end; writeln;end; end.
{$APPTYPE CONSOLE
Uses SysUtils;
type //раздел описания типов данных
tArray=array [1..20,1..40] of byte; //описание типа двумерного
//массива 20x40 элементов
tArray2=array [1..400] of byte; // описание типа массива из 400
//элементов
var //раздел объявления переменных
A:tArray; //массив с результатами эксперимента
B:tArray2; //сформированный одномерный массив
n, //количество столбцов массива A
m, //количество строк массива A
k:byte; //размер массива B
d:byte; //количество искомых элементов
S:real; //среднее арифметическое элементов массива В
//
// Функция ввода массива. Возвращает размер массива n, m и //введенный массив Z
Function InputArray(var Z:tArray; var m, n:byte):boolean;
var
i,j:byte; // индексные переменные
begin
//вывод сообщения о вводе n
writeln('Введите размер массива n:');
//вводим n
readln(n);
…
end;
//Процедура вывода одномерного массива Y размерностью k
Procedure OutputArray(Y:tArray2; k:byte);
var i:byte; //индекс массива
begin
…
end;
//Процедура создания одномерного массива Y
//из двумерного Х по заданной схеме
Procedure Create(X:tArray; m:byte; n:byte; var Y:tArray2; var k:byte);
var
i, //индекс массива
j:byte; //индекс массива
l,t:byte; //индексы массива
s:set of byte; //множество элементов массива
f:boolean; //флаг наличия схожего элемента
//в нижней части массива
begin
…
end;
end; //конец процедуры
//Процедура поиска среднего арифметического
Function SrZnach(X:tArray2; n:byte):real;
var
i:byte; //индекс массива
Sr:real; //переменная для подсчета среднего арифметического
begin
…
end;
//Процедура подсчета в массиве Х элементов,
//которые отличаются от значения Sr больше чем на 50%.
//Возвращает количество искомых элементов k
Procedure Calc(X:tArray2; n:byte; Sr:real; var k:byte);
var
i:byte; //индексы массива
begin
i:=1; //задаем начальный индекс массива
k:=0;
…
end;
//начало основной программы
begin
…
end. //конец программы