Добрый день друзья!
Нужно произвести преобразование матрицы по следующему принципу:
1. Первое число матрицы А[1.1] взаимодействует со всеми числами матрицы поочередно по следующему сценарию:
Берем второе число А[1.2] и находим любое случайное число меньше числа
А[1.2]. Найденное случайное число вычитается от А[1.2] и прибавляется
к А[1.1]. И так дальше со всеми числами матрицы.
Написал следующий код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
A: array [1..100,1..100] of real; // Первичный массив
M: integer;
N: integer;
K: integer;
diapazon:real;
max: real;
min: real;
Prom: real;
Peremen: real;
ErrHndl: real;
MaxM: integer; // Предел значения начального элемента
i: integer; // индекс I
j: integer; // индекс J
f: TextFile;
s, FName: string;
QN:array [1..2,1..50] of integer; // массив итоговый
begin
M:=StrToInt(Edit1.Text);
N:=StrToInt(Edit2.Text);
MaxM:=StrToInt(Edit3.Text);
Randomize;
for i:= 1 to N do
For j:=1 to M do
begin
A[i,j]:= random(MaxM+1)
end;
//Взаимодействие элементов матрицы между собой
Prom:=A[1,1];
for i:= 1 to N do
For j:=1 to M do
begin
K:= Trunc(A[i,j+1]); //Урезаем числа после запятой
Peremen:=random(K); //Находим случайное число меньше, чем второй элемент
A[i,j+1]:= A[i,j+1]-Peremen;
Prom:=Prom+Peremen;
end;
A[1,1]:= Prom;
Но не работает! Подскажите, кто знает, как решить такую задачку.