ПОМОГИТЕ ПОЖАЛУЙСТА! Язык программирования паскаль abc!В матрице имеется столбец, в котором разность между максимальным элементом и средним арифметическим больше первого элемента. Найти этот столбец, и заменить его элементы на ...

ПОМОГИТЕ ПОЖАЛУЙСТА! Язык программирования паскаль abc! В матрице имеется столбец, в котором разность между максимальным элементом и средним арифметическим больше первого элемента. Найти этот столбец, и заменить его элементы на единицу.
Гость
Ответ(ы) на вопрос:
Гость
const   nm = 50;   nn = 50; type   Mas=array[1..nm,1..nn] of integer; procedure MatrixInit(var a:Mas;m,n,p,q:integer); { Заполнение массива размером m*n   целыми случайными числами из интервала [p;q] } var   i,j,k:integer; begin   k:=q-p+1;   for i:=1 to m do     for j:=1 to n do a[i,j]:=Random(k)-p end; procedure MatrixOutput(var a:Mas;m,n,k:integer); { вывод элементов матрицы размера m*n в k позициях } var   i,j:integer; begin   for i:=1 to m do   begin for j:=1 to n do Write(a[i,j]:k); Writeln end end; function IsFits(var a:Mas;m,col:integer):boolean; { функция возвращает true, если колонка col явдяется "подходящей" } var   i,max:integer;   mv:real; begin   max:=a[1,col]; mv:=max;   for i:=2 to m do   begin     mv:=mv+a[i,col];     if maxa[1,col]) end; procedure ColumnReplace(var a:Mas;m,col:integer); { Замена элементов столбца col единицами } var   i:integer; begin   for i:=1 to m do a[i,col]:=1 end; var   P: Mas;   a,b,m,n,j,k:integer;   flag:boolean; begin   Randomize;   Write('Введите количество строк и столбцов матрицы: ');   Read(m,n);   Write('Укажите минимальное и максимальной значение элементов: ');   Read(a,b);   Write('Укажите количество позиций для вывода значения элемента: ');   Read(k);   MatrixInit(P,m,n,a,b);   Writeln('Исходный массив');   MatrixOutput(P,m,n,k);   j:=1;   repeat     flag:=IsFits(P,m,j);     if flag then     begin       ColumnReplace(P,m,j);       Writeln('Результирующий массив');       MatrixOutput(P,m,n,k)     end     else Inc(j)   until flag or (j>n);   if not flag then     Writeln('') end. Тестовое решение: Введите количество строк и столбцов матрицы: 5 8 Укажите минимальное и максимальной значение элементов: 0 20 Укажите количество позиций для вывода значения элемента: 3 Исходный массив  19  7  2 15  2 11  2 15  12 16  8 14  6  8  1 17  12 14 10  8  7 19  7  1   0  9  0  7 18 10  2  5  18  8  4  9 16 10 14 10 Результирующий массив  19  7  1 15  2 11  2 15  12 16  1 14  6  8  1 17  12 14  1  8  7 19  7  1   0  9  1  7 18 10  2  5  18  8  1  9 16 10 14 10
Не нашли ответ?
Ответить на вопрос
Похожие вопросы