Цитата:
Сообщение от virginia
Пусть дана матрица А (n x n). Постройте логический вектор, каждый элемент которого принимает значение true, если среди элементов i-того строки матрицы А есть хотя бы два равных, и значение false - иначе. Воспользуйтесь логической функцией, которая для i-й строки выполняет указанную проверку.
можно объяснить просто как делать
|
Легко:
Код:
Const
N=8;
Type Ar=Array[1..N] of Byte;
Var
A:Array[1..N] of Ar;
i,j:Byte;
Bu:Array[1..N] of Boolean;
Function Tst(Q:Ar):Boolean;
var
k,m:Byte;
b:Boolean;
begin
b:=false;
k:=0;
Repeat
Inc(k);
m:=k;
Repeat
Inc(m);
If Q[k]=Q[m] then b:=true;
Until b or (m=N);
Until b or (k=N-1);
Tst:=b;
end;
Begin
Randomize;
For i:=1 to N do
begin
For j:=1 to N do
A[i][j]:=Random(50);
Bu[i]:=Tst(A[i]);
end;
For i:=1 to N do
begin
For j:=1 to N do
write(A[i][j]:4);
write(' ');
writeln(Bu[i]);
end;
Readln
End.