home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 September
/
Chip_2002-09_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d123456
/
STR_BIT.ZIP
/
16
/
PRIM
/
MATRGG.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
2001-06-19
|
1KB
|
46 lines
program MatrDemo;
{$F+,R+}
uses StrBit16;
Label est_bstr, end_p, N_CK;
var M: array [1..78] of PStr_Bit;
Rez_s, NameRez : string;
Rx, Ry, i, stolb, St : integer;
Prom : pointer; FileRez : text;
begin { Äß¡«ó¡«Ñ Γѽ« »p«úpá¼¼δ }
Writeln('Åp«úpá¼¼á »αÑ«íα-∩ ¼áΓα¿µ »« á½ú«α¿Γ¼π âáπßßá-å«αñá¡á');
Writeln('ÇóΓ«α : æѼѡ«ó é.ï. éÑαß¿∩ 3.1 «Γ 19.06.01 ú.');
write('éóÑñ¿ΓÑ αẼÑα¡«ßΓ∞ ¼áΓα¿µδ (ò Y): ');
readln ( Rx, Ry );
Write ('ê¼∩ Σá⌐½á αѺπ½∞ΓáΓá: ');
Readln(NameRez);
For i := 1 to Ry do begin
M[i] := New(PStr_Bit, Init(Rx));
write('éóÑñ¿ΓÑ ßΓ᫬π', i:2, ' '); readln ( rez_s );
M[i]^.Init_Sim (Rez_S);
end;
Stolb:= 0; St := 1;
Assign(FileRez,NameRez);
Rewrite(FileRez);
For i := 1 to Ry do
Writeln(FileRez, M[i]^.Val_sim(SizeOf(Rez_S)-1));
N_CK:
repeat
For i := St to Ry do
If M[i]^.GetBit(stolb) = bt1 then begin
Prom := M[i]; M[i] := M[St]; M[st] := Prom;
goto est_bstr end;
inc (stolb);
until stolb >= Rx;
goto end_p;
est_bstr:
for i := 1 to Ry do
If (M[i]^.GetBit(stolb) = bt1) and (i<>St) then
M[i]^.Mod2(M[St]);
writeln (FileRez, 'Φáú',St:3); inc(St);
For i := 1 to Ry do
Writeln(FileRez, M[i]^.Val_sim(SizeOf(Rez_S)-1));
Goto N_CK;
end_p: For i := 1 to Ry do Dispose(M[i],Done); {Äßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿}
Close(FileRez);
writeln('¬«¡Ñµ «ípáí«Γ¬¿');
end.