.


:




:

































 

 

 

 


If (ik<is) or (jk<js) then




1.

, .

 

. , , . , ( ).

 

Program Task201;

Const Mmax = 20; Nmax = 15;

Type Matrix = array [1..Mmax,1..Nmax] of real;

Var i,j,m,n,imax,imin: byte;

Amax,Amin,R: real;

A: Matrix;

Begin

m, n, A

Amax:=a[1,1]; imax:=1;

Amin:=a[1,1]; imin:=1;

For i:=1 to m do { }

For j:=1 to n do { }

If a[i,j]>Amax then { }

Begin { }

Amax:=a[i,j]; imax:=i;

End

Else

Ifa[i,j]<Amin then

Begin

Amin:=a[i,j]; imin:=i;

End;

If imax<>imin then

For j:=1 to n do { }

Begin

R:=a[imin,j]; a[imin,j]:=a[imax,j]; a[imax,j]:=R

End;

A

End.

2.

, , , , .

 

, ( ):

a[1,2] a[1,3] a[1,4]... a[1,n-1] a[1,n]

a[2,3] a[2,4]... a[2,n-1] a[2,n]

a[3,4]... a[3,n-1] a[3,n]

...............................

a[n-2,n-1] a[n-2,n]

a[n-1,n]

1 n-1, .. i = 1.. (n-1); - i+1 n, .. j = (i+1).. n.

:

a[2,1]

a[3,1] a[3,2]

a[4,1] a[4,2] a[4,3]

.......................

a[n,1] a[n,2] a[n,3]... a[n,n-2] a[n,n-1]

i = 2.. n, j = 1.. (i-1).

 

Program Task202;

Const Nmax = 20;

Type Matrix = array [1..Nmax,1..Nmax] of real;

Var i,j,n,imax,imin,jmax,jmin: byte;

Amax,Amin: real;

A: Matrix;

Begin

n, A

Amax:=a[1,2]; imax:=1; jmax:=2;

For i:=1 to n-1 do { }

For j:=i+1 to n do { }

If a[i,j]>Amax then { }

Begin

Amax:=a[i,j]; imax:=i; jmax:=j

End;

Amin:=a[2,1]; imin:=2; jmin:=1;

For i:=2 to n do { }

For j:=1 to i-1 do { }

If a[i,j]<Amin then { }

Begin

Amin:=a[i,j]; imin:=i; jmin:=j

End;

a[imin,jmin]:=Amax; a[imax,jmax]:=Amin;

A

End.

3.

, ( ), , .

 

, :

1,1 2,2 3,3 4,4... n-2,n-2 n-1,n-1 n,n

1,2 2,3 3,4 4,5... n-2,n-1 n-1,n

1,3 2,4 3,5 4,6... n-2,n

.......................................

1,n-1 2,n

1,n

 

k : . , k- , j = k.. n; i = j - k +1.

 

Program Task203;

Const Nmax = 20;

Type Matrix = array [1..Nmax,1..Nmax] of real;

SumType = array [1..Nmax] of real;

Var i,j,k,kmax,n: byte;

SumMax: real;

A: Matrix;

S: SumType;

Begin

n, A

For k:=1 to n do { S, }

Begin { }

S[k]:=0; { }

For j:=k to n do

Begin

i:=j-k+1; S[k]:=S[k]+abs(a[i,j]);

End;

End;

SumMax:=S[1]; kmax:=1;

For k:=2 to n do { }

If S[k]>SumMax then { S }

Begin

SumMax:=S[k]; kmax:=k

End;

SumMax, kmax

End.

. , , , : j - i = k - 1, k - .

, :

- S;

- , ( i = 1.. n, j = i.. n), ;

- S.

 

4.

, . , , , .

 

, :

n,2 n-1,3 n-2,4... 4,n-2 3,n-1 2,n

n,3 n-1,4 n-2,5... 4,n-1 3,n

n,4 n-1,5 n-2,6... 4,n

.......................................

n,n-1 n-1,n

n,n

 

k : . , k- , i = n.. k; j = n - i+k. n-k+1.

 

Program Task204;

Const Nmax = 20;

Type Matrix = array [1..Nmax,1..Nmax] of real;

Ar = array [2..Nmax] of real;

Var i,j,k,kmax,n: byte;

ArMax: real;

A: Matrix;

Sar: Ar;

Begin

n,A

For k:=2 to n do { Sar, }

Begin { }

Sar[k]:=0; { }

For i:=n downto k do { }

Begin

j:=n-i+k; Sar[k]:=Sar[k]+a[i,j];

End;

Sar[k]:=Sar[k]/(n-k+1);

End;

ArMax:=Sar[2]; kmax:=2;

For k:=3 to n do { }

If Sar[k]>ArMax then { }

Begin { Sar }

ArMax:=Sar[k]; kmax:=k

End;

ArMax, kmax

End.

 

. , , : i + j = n + k, k - . , , 3.

 

5.

.

 

Task205 , - .

 

Program Task205;

Const Mmax = 20; Nmax = 15;

Type Matrix = array [1..Mmax,1..Nmax] of real;

Var i,j,k,m,n: byte;

R: real;

A: Matrix;

Begin

m, n, A

i:=1; k:=m; { }

While i<k do { }

Begin

For j:=1 to n do

Begin

R:=a[i,j]; a[i,j]:=a[k,j]; a[k,j]:=R;

End;

Inc(i); Dec(k);

End;

j:=1; k:=n; { }

While j<k do { }

Begin

For i:=1 to m do

Begin

R:=a[i,j]; a[i,j]:=a[i,k]; a[i,k]:=R;

End;

Inc(j); Dec(k);

End;

A

End.

6.

, .

 

RepElem Task206 , i j A. RepElem(i, j) = true Cond = true ( ), , - . Cond = false , , , .

 

Program Task206;

Const Mmax = 30; Nmax = 50;

Type Matrix = array [1..Mmax,1..Nmax] of integer;

Var m,n, { }

imax,jmax, { . }

i,j,is,js: byte;

Amax: integer; { . }

Cond: boolean;

A: Matrix; { }

{ -------------------------------------------- }

Function RepElem(ik,jk:byte):boolean;

{ RepElem=true, a[ik,jk] }

Var i,j,is,js: byte;

R: integer;

Begin

R:=a[ik,jk]; RepElem:=false;

For i:=1 to m do

For j:=1 to n do

If (R=a[i,j]) and (i<>ik) and (j<>jk) then

Begin

RepElem:=true; Exit

End;

End { RepElem };

{ -------------------------------------------- }

Begin

imax:=0; jmax:=0; Amax:=0; Cond:=true;

For i:=1 to m do

For j:=1 to n do

Begin

If RepElem(i,j) then

IfCond then

Begin

imax:=i; jmax:=j;

Amax:=a[i,j]; ond:=false

End

Else

Ifa[i,j]>Amax then

Begin

imax:=i; jmax:=j; Amax:=a[i,j];

End

End;

Writeln('imax = ',imax,' jmax = ',jmax,' Amax = ',Amax);

End.

7.

, .

, 6- (1,6) :

16 17 18 19 20 1

15 30 31 32 21 2

14 29 36 33 22 3

13 28 35 34 23 4

12 27 26 25 24 5

11 10 9 8 7 6

 

Program Task207;

{ : 1 - ; 2 - }

{ ; 3 - ; 4 - }

Const Nmax = 30;

Type Matrix = array [1..Nmax,1..Nmax] of word;

Var n, { }

i,j,

k, { }

is, { .- }

ik, { }

js, { .- }

jk: byte; { }

Number: word; { }

Cond: boolean;

A: Matrix;

{ ---------------------------------------------- }

Procedure ToRight;

{ }

Var j: byte;

Begin

For j:=js to jk do

Begin

a[is,j]:=Number; Inc(Number);

End;

End { ToRight };

{ ---------------------------------------------- }

Procedure ToDown;

{ }

Var i: byte;

Begin

For i:=is to ik do

Begin

a[i,jk]:=Number; Inc(Number);

End;

End { ToDown };

{ ---------------------------------------------- }

Procedure ToLeft;

{ }

Var j: byte;

Begin

For j:=jk downto js do

Begin

a[ik,j]:=Number; Inc(Number);

End;

End { ToLeft };

{ ---------------------------------------------- }

Procedure ToUp;

{ }

Var i: byte;

Begin

For i:=ik downto is do

Begin

a[i,js]:=Number; Inc(Number);

End;

End { ToUp };

{ ---------------------------------------------- }

Begin

n k

Number:=1; Cond:=true;

is:=1; js:=1; ik:=n; jk:=n;

While Cond do

Begin

Case k of

1: Begin

ToRight; Inc(is);

End;

2: Begin

ToDown; Dec(jk);

End;

3: Begin

ToLeft; Dec(ik);

End;

4: Begin

ToUp; Inc(js);

End;

end;

Inc(k);

If k>4 then k:=1;

If (ik<is) or (jk<js) then

Cond:=false;

End;

End.

8.

A :

a[1,1] < a[1,2] < a[1,3] <... < a[1,n] < a[2,1] <...

... < a[2,n] < a[3,1] <... < a[m,n]

, , . , .

 

, .

 

1.

, , . . , = 2.. , , , -1. ( -1)- . , m- .

1 .

 

Program Task208a;

Label 10;

Const Mmax = 30; Nmax = 50;

Type Matrix = array [1..Mmax,1..Nmax] of integer;

Var m,n, { }

is,js, { -, b }

i,j: byte;

b: integer;

Cond: boolean;

A: Matrix; { }

Begin

m, n, A, b

is:=0; js:=0;





:


: 2016-09-06; !; : 240 |


:

:

,
==> ...

1837 - | 1826 -


© 2015-2024 lektsii.org - -

: 0.117 .