Ребята помогите найти: 1. Количество компонент матрицы совпадающих по абсолютному значению с максимумом
2. Записать в одномерный массив значения:-1, если сумма индексов максимальной по абсолютному значению компоненты матрицы m[n,k] является нечетным числом, и 1-если четным числом.
Код:
Program zadanie;
Uses crt;
const
digits=1;
Type matrix = Array [1..10, 1..10] of real;
massiv = Array [1..10] of Integer;
Var m: matrix;
max:real;
v: massiv;
imax,n, k, i, j, a, b,p1, p2, min,imin,s,t: Integer;
Begin
Write ('Введите количество строк матрицы n');
WriteLN (' не менее 2 и не более 10');
ReadLN (n);
If (n<2) Or (n>10) Then
Begin
Write ('Вы ввели неправильное количество строк меньше 2 или');
Write (' больше 10, поэтому принят');
WriteLN (' максимальный размер, т.е. n=10');
n:=10;
End;
Write ('Введите количество столбцов матрицы k');
WriteLN (' не менее 2 и не более 10');
ReadLN (k);
If (k<2) Or (k>10) Then
Begin
Write ('Вы ввели неправильное количество столбцов меньше 2 или');
Write (' больше 10, поэтому принят');
WriteLN (' максимальный размер, т.е. k=10');
k:=10;
End;
Write ('Введите левую а и правую b границы диапазона');
WriteLN (' значений компонент матрицы');
Write ('a='); ReadLN (a);
Write ('b='); ReadLN (b);
If a>b Then
Begin
p1:=a; a:=b; b:=p1;
End;
If a=b Then
Begin
p1:=0; p2:=b;
End
Else If b=0 Then
Begin
p1:=a; p2:=0;
End
Else
Begin
p1:=b-a; p2:=a;
End;
Randomize;
s:=0;
For j:=1 To k Do
For i:=1 To n Do
Begin
m[i,j]:=p2+random(p1+1);
End;
begin
For i:=1 To n Do
Begin
For j:=1 To k Do Write (m[i,j]:6:digits);
WriteLN;
End;
writeln;
imax:=1;
max:=m[i,j];
for i:=1 to N do
for j:=1 to k do
if max<abs(m[i,j]) then
begin
max:=abs(m[i,j]);
imax:=i;
imax:=j;
end;
writeln('Максимальное абсолютное значение: max=',max:5:digits);
write('Индекс max ');
For i:=1 to n do
For j:=1 to k do
If abs(m[i,j])=max Then
Write('[',i,';',j,']');
end;
end.