- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
{$N+}
const
n=5;
n2=2*n;
type tRow=array[1..n] of 0..1;
rRow=array[1..n] of 0..1;
type tMatrix=array[1..n,1..n2] of double;
wMatrix=array[1..n,1..n2] of double;
procedure NewMatrix(var a: tMatrix; n,n2: word; x: double); var i,j: word;
begin
randomize;
for i:=1 to n do
for j:=1 to n2 do
a[i,j]:=-2*x+random(Round(4*x));
end;
procedure ProcMatrix(var a: tMatrix; n,n2: word; x: double; var b: tRow); var i,j: word;
begin
for i:=1 to n do
for j:=1 to n2 do
if a[i,j]<=x then b[i]:=1 else
begin
b[i]:=0;
break;
end;
end;
procedure WriteMatrix(var a: tMatrix; n,n2: word); var i,j: word;
begin
for i:=1 to n do
begin
for j:=1 to n2 do write(a[i,j]:6:2);
writeln('');
end;
end;
procedure WriteRow(var b: tRow; n: word); var i: word;
begin
for i:=1 to n do write(b[i]:2);
writeln('');
end;
procedure NewMatrix1(var q: wMatrix; n,n2: word; x: double); var i,j: word;
begin
randomize;
for i:=1 to n do
for j:=1 to n2 do
q[i,j]:=-1.1*x+random(Round(4*x));
end;
procedure ProcMatrix1(var q: wMatrix; n,n2: word; x: double; var e: rRow); var i,j: word;
begin
for i:=1 to n do
for j:=1 to n2 do
if q[i,j]<=x then e[i]:=1 else
begin
e[i]:=0;
break;
end;
end;
procedure WriteMatrix1(var q: wMatrix; n,n2: word); var i,j: word;
begin
for i:=1 to n do
begin
for j:=1 to n2 do write(q[i,j]:6:2);
writeln('');
end;
end;
procedure WriteRow1(var e: rRow; n: word); var i: word;
begin
for i:=1 to n do write(e[i]:2);
writeln('');
end;
var
bRow: tRow;
eRow: rRow;
aMatrix: tMatrix;
qMatrix: wMatrix;
x: double;
begin
write('‚ўҐ¤ЁвҐ ўҐйҐб⢥®Ґ зЁб«® е: ');
readln(x);
NewMatrix(aMatrix,n,n2,x);
writeln('Њ ваЁж ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ўв®¬ вЁзҐбЄЁ:');
WriteMatrix(aMatrix,n,n2);
NewMatrix1(qMatrix,n,n2,x);
writeln('Њ ваЁж ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ўв®¬ вЁзҐбЄЁ:');
WriteMatrix1(qMatrix,n,n2);
ProcMatrix(aMatrix,n,n2,x,bRow);
writeln('Њ ваЁж ®Ўа Ў®в . Џ®б«Ґ¤®ў ⥫м®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ');
WriteRow(bRow,n);
ProcMatrix1(qMatrix,n,n2,x,eRow);
writeln('Њ ваЁж ®Ўа Ў®в . Џ®б«Ґ¤®ў ⥫м®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ');
WriteRow1(eRow,n);
writeln('Ќ ¦¬ЁвҐ ENTER');
readln;
end.
Процедуры.
Даны натуральное число n, действительное число x и две действительные матрицы размера nx2n. Получить последовательность b1,..., bn из нулей и единиц, где bi =1, если элементы i-ой строки матрицы не превосходят x и bi =0 в противном случае.