Добавил:
Eatmore
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:написанные программы / задание №3 — 3 / MATRIX
.PAS Program Lab3_Matrix;
{ +++ ‡ Ђ „ Ђ Ќ € … +++ }
{ „ 楫®зЁб«Ґ п Їаאַ㣮«м п ¬ ваЁж . ЋЇаҐ¤Ґ«Ёвм: }
{ }
{ 1. Є®«-ў® бва®Є, ᮤҐа¦ йЁе е®вп Ўл ®¤Ё г«Ґў®© н«Ґ¬Ґв }
{ ( ®д®а¬Ёвм ў ўЁ¤Ґ дгЄжЁЁ ) }
{ 2. ®¬Ґа бва®ЄЁ, ¬ ЄбЁ¬ «м® г¤ «Ґ®© ®в ЇҐаў®© бва®ЄЁ }
{ ( ®д®а¬Ёвм ў ўЁ¤Ґ Їа®жҐ¤гал ). }
{ ЏаЁ¬Ґз ЁҐ. P ббв®пЁҐ ¬Ґ¦¤г k-© Ё l-© бвp®Є ¬Ё Ђ=єAijє }
{ ®ЇаҐ¤Ґ«пҐвбп Є Є n }
{ ДДД }
{ > Akj*Alj . }
{ ДДД }
{ j=1 }
Const
M=20; { Љ®«-ў® бва®Є }
N=19; { Љ®«-ў® Є®«®®Є }
Var
A: Array[1..M,1..N] Of Integer;
NMatr, i, j, s: Integer;
{-------- Љ®«ЁзҐбвў® бва®Є, Ё¬ҐойЁе е®вп-Ўл ®¤Ё г«Ґў®© н«Ґ¬Ґв -------}
Function NumNullString(X, Y: Integer): Integer;
Var
Num, k, l: Integer;
NullStr: Boolean;
Begin
Num:=0;
For k:=1 To X Do
Begin
NullStr:=False;
For l:=1 To Y Do
Begin
If (A[k,l]=0) And (NullStr=False) Then
Begin
Num:=Num+1;
NullStr:=True;
End;
End;
End;
NumNullString:=Num;
End;
{-------- Ќ®¬Ґа бва®ЄЁ, ¬ ЄбЁ¬ «м® г¤ «Ґ®© ®в ЇҐаў®© бва®ЄЁ -------}
Procedure NumFarString(X, Y: Integer ;Var N: Integer);
Var
Buf: Array[2..M] Of Integer;
Begin
For i:=2 To X Do
Begin
Buf[i]:=0;
For j:=1 To Y Do
Buf[i]:=Buf[i]+A[1,j]*A[i,j];
End;
N:=2;
For i:=3 To X Do
If Buf[N] <= Buf[i] Then N:=i;
End;
{-------------------------- Ћб®ў п Їа®Ја ¬¬ -----------------------}
Begin
Randomize;
WriteLn;
For i:=1 To M Do
Begin
Write('і');
For j:=1 To N Do
Begin
A[i,j]:=Random(10);
Write(' ',A[i,j],' і');
End;
WriteLn;
End;
WriteLn;
WriteLn('Љ®«-ў® бва®Є, ў Є®в®але Ґбвм е®вп-Ўл ®¤Ё г«м = ',NumNullString(M, N));
NumFarString(M,N,NMatr);
Writeln('Ќ®¬Ґа бва®ЄЁ, ¬ ЄбЁ¬ «м® г¤ «Ґ®© ®в ЇҐаў®© = ',NMatr);
ReadLn;
{---------------------------- Љ®Ґж Їа®Ја ¬¬л ------------------------}
End.
{ +++ ‡ Ђ „ Ђ Ќ € … +++ }
{ „ 楫®зЁб«Ґ п Їаאַ㣮«м п ¬ ваЁж . ЋЇаҐ¤Ґ«Ёвм: }
{ }
{ 1. Є®«-ў® бва®Є, ᮤҐа¦ йЁе е®вп Ўл ®¤Ё г«Ґў®© н«Ґ¬Ґв }
{ ( ®д®а¬Ёвм ў ўЁ¤Ґ дгЄжЁЁ ) }
{ 2. ®¬Ґа бва®ЄЁ, ¬ ЄбЁ¬ «м® г¤ «Ґ®© ®в ЇҐаў®© бва®ЄЁ }
{ ( ®д®а¬Ёвм ў ўЁ¤Ґ Їа®жҐ¤гал ). }
{ ЏаЁ¬Ґз ЁҐ. P ббв®пЁҐ ¬Ґ¦¤г k-© Ё l-© бвp®Є ¬Ё Ђ=єAijє }
{ ®ЇаҐ¤Ґ«пҐвбп Є Є n }
{ ДДД }
{ > Akj*Alj . }
{ ДДД }
{ j=1 }
Const
M=20; { Љ®«-ў® бва®Є }
N=19; { Љ®«-ў® Є®«®®Є }
Var
A: Array[1..M,1..N] Of Integer;
NMatr, i, j, s: Integer;
{-------- Љ®«ЁзҐбвў® бва®Є, Ё¬ҐойЁе е®вп-Ўл ®¤Ё г«Ґў®© н«Ґ¬Ґв -------}
Function NumNullString(X, Y: Integer): Integer;
Var
Num, k, l: Integer;
NullStr: Boolean;
Begin
Num:=0;
For k:=1 To X Do
Begin
NullStr:=False;
For l:=1 To Y Do
Begin
If (A[k,l]=0) And (NullStr=False) Then
Begin
Num:=Num+1;
NullStr:=True;
End;
End;
End;
NumNullString:=Num;
End;
{-------- Ќ®¬Ґа бва®ЄЁ, ¬ ЄбЁ¬ «м® г¤ «Ґ®© ®в ЇҐаў®© бва®ЄЁ -------}
Procedure NumFarString(X, Y: Integer ;Var N: Integer);
Var
Buf: Array[2..M] Of Integer;
Begin
For i:=2 To X Do
Begin
Buf[i]:=0;
For j:=1 To Y Do
Buf[i]:=Buf[i]+A[1,j]*A[i,j];
End;
N:=2;
For i:=3 To X Do
If Buf[N] <= Buf[i] Then N:=i;
End;
{-------------------------- Ћб®ў п Їа®Ја ¬¬ -----------------------}
Begin
Randomize;
WriteLn;
For i:=1 To M Do
Begin
Write('і');
For j:=1 To N Do
Begin
A[i,j]:=Random(10);
Write(' ',A[i,j],' і');
End;
WriteLn;
End;
WriteLn;
WriteLn('Љ®«-ў® бва®Є, ў Є®в®але Ґбвм е®вп-Ўл ®¤Ё г«м = ',NumNullString(M, N));
NumFarString(M,N,NMatr);
Writeln('Ќ®¬Ґа бва®ЄЁ, ¬ ЄбЁ¬ «м® г¤ «Ґ®© ®в ЇҐаў®© = ',NMatr);
ReadLn;
{---------------------------- Љ®Ґж Їа®Ја ¬¬л ------------------------}
End.
Соседние файлы в папке задание №3 — 3