На основе этой процедуры сформировать массив из тех элементов строк целочисленной матрицы А, начиная со второй строки, значения которых не совпадают со значениями квадратов элементов первой строки матрицы А.
Помогите, пожалуйста, как в составлении процедуры, так и в применении её к матрице. Заранее огромное спасибо.
Добавлено через 16 мин.
Есть версия программы, но она работает крайне некорректно: условие, по-моему, соблюдается, лишь для третьего столбца матрицы.
Очень надеюсь на вашу помощь.
program pr14;
const
N = 3;
type
Str = array [1..N] of integer;
Func = function (X: integer): integer;
var
A: array [1..N] of Str;
B: array [1..(N*N-N)] of integer;
L: integer;
i, j: integer;
procedure Proc(f: Func; K, M: array of integer; var L: array of integer; var len: integer);
var
i, j: integer;
b: boolean;
begin
for i := 0 to High(M) do begin
b := false;
for j := 0 to High(K) do b := ( M[i] = f(K[j]) );
if not b then begin
L[len] := M[i];
len := len + 1;
end;
end;
end;
function fc(X: integer): integer;far;
begin
fc := Sqr(X);
end;
begin
writeln('vvedite postro4no matricu 3x3');
for i := 1 to N do
begin
for j := 1 to N do read(A[i,j]);
readln;
end;
L := 0;
for i := 2 to N do Proc(fc, A[1], A[i], B, L);
if L > 0 then
for i := 1 to L do WriteLn('B[', i, '] = ', B[i]);
ReadLn;
end.
Сообщение отредактировано: taran -