.


:




:

































 

 

 

 





1.

A, n x n. , , .

, , , .

(1) (2), (i,j). l k. (1) (. .1) : l = j i + k, (2) : l = j + i - k. . , , . , k 1 i. l 1 £ l £ n. (1) l > j i + k, (2) - l < j + i - k. , . , , , 1 n. , k 1 i, l (1) (2). 0 n if. :

i =1 ¸ n

j =1 ¸ n

k = 1 ¸ i

l = j i + k ¸ j + i k

1 £ l £ n

l

k

j

i

 

.

#include <stdio.h>

#include <conio.h>

#define m 6

void main()

{ int i,j,k,l,n;

float a[m][m],b[m][m];

clrscr();

gotoxy(5,5); printf(" ");

gotoxy(5,6); printf(" b(i,j)=max a(k,l), k,l ");

gotoxy(9,7); printf(" ");

gotoxy(35,10); printf("┌ ┐");

gotoxy(35,11); printf("│ * * * * * * * * * * * * * │");

gotoxy(35,12); printf("│ * * * * * * * * * * * * │");

gotoxy(35,13); printf("│ * * * * * * * * * * * │");

gotoxy(35,14); printf("│ * * * * * * * * * │");

gotoxy(35,15); printf("│ * * * * * * * │");

gotoxy(35,16); printf("│ * * * * * │");

gotoxy(35,17); printf("│ * * * │");

gotoxy(35,18); printf("│ * │");

gotoxy(35,19); printf("│ │");

gotoxy(35,20); printf("│ │");

gotoxy(35,21); printf("│ │");

gotoxy(35,22); printf("└ ┘");

getchar();clrscr();

do{

printf("\n\n <=%d ",m);

scanf("%d",&n);

}while(!(n>0 && n<=m));clrscr();

for (i=1;i<=n;i++)

for (j=1;j<=n;j++){

printf(" a(%d,%d)=",i,j);scanf("%f",&a[i-1][j-1]);

}

clrscr();

printf(" \n");

for (i=1;i<=n;i++){

for (j=1;j<=n;j++)

printf("%7.2f",a[i-1][j-1]);

printf("\n");

}

for (i=1;i<=n;i++)

for (j=1;j<=n;j++){

b[i-1][j-1]=-1.e20;

for (k=1;k<=n;k++)

for (l=j-i+k;l<=j+i-k;l++)

if (l>=1 && l<=n && a[k-1][l-1]>b[i-1][j-1])

b[i-1][j-1]=a[k-1][l-1];

}

printf(" \n");

for (i=1;i<=n;i++){

for (j=1;j<=n;j++)

printf("%7.2f",b[i-1][j-1]);

printf("\n");

}

getchar();getchar();

}

:

 

b(i,j)=max a(k,l), k,l

┌ ┐

│* * * * * * * * * * * * * │

│ * * * * * * * * * * * * │

│ * * * * * * * * * * * │

│ * * * * * * * * * │

│ * * * * * * * │

│ * * * * * │

│ * * * │

│ * │

│ │

│ │

│ │

└ ┘

 

<=6 4

a(1,1)= 1.00

a(1,2)= 4.00

a(1,3)= 2.00

a(1,4)= -3.60

a(2,1)= 8.90

a(2,2)= -22.10

a(2,3)= 5.00

a(2,4)= 0.78

a(3,1)= -3.45

a(3,2)= 2.40

a(3,3)= 9.80

a(3,4)= 6.12

a(4,1)= -23.50

a(4,2)= 1.00

a(4,3)= 7.00

a(4,4)= 89.00

 

1.00 4.00 2.00 -3.60

8.90 -22.10 5.00 0.78

-3.45 2.40 9.80 6.12

-23.50 1.00 7.00 89.00

 

1.00 4.00 2.00 -3.60

8.90 4.00 5.00 2.00

8.90 8.90 9.80 6.12

8.90 9.80 9.80 89.00


 

2.

A, n x n. , , . l, j n. , : l j n, k j+i-l l-j+i. , . .

 

#include <stdio.h>

#include <conio.h>

#define m 6

void main()

{ int i,j,k,l,n;

float a[m][m],b[m][m];

clrscr();

gotoxy(5,5);

printf(" ");

gotoxy(5,6);

printf(" b(i,j)=min a(k,l), k,l ");

gotoxy(9,7);

printf(" ");

gotoxy(35,10); printf("┌ ┐");

gotoxy(35,11); printf("│ │");

gotoxy(35,12); printf("│ * │");

gotoxy(35,13); printf("│ * * │");

gotoxy(35,14); printf("│ * * * │");

gotoxy(35,15); printf("│ * * * * │");

gotoxy(35,16); printf("│ * * * * * │");

gotoxy(35,17); printf("│ * * * * * * │");

gotoxy(35,18); printf("│ * * * * * │");

gotoxy(35,19); printf("│ * * * * │");

gotoxy(35,20); printf("│ * * * │");

gotoxy(35,21); printf("│ * * │");

gotoxy(35,22); printf("│ * │");

gotoxy(35,23); printf("└ ┘");

getchar();clrscr();

do{

printf("\n\n <=%d ",m);

scanf("%d",&n);

}while(!(n>0 && n<=m));clrscr();

for (i=1;i<=n;i++)

for (j=1;j<=n;j++){

printf(" a(%d,%d)=",i,j);scanf("%f",&a[i-1][j-1]);

}

clrscr();

printf(" \n");

for (i=1;i<=n;i++){

for (j=1;j<=n;j++)

printf("%7.2f",a[i-1][j-1]);

printf("\n"); }

for (i=1;i<=n;i++)

for (j=1;j<=n;j++){

b[i-1][j-1]=1.e20;

for (l=j;l<=n;l++)

for (k=j+i-l;k<=l-j+i;k++)

if (k>=1 && k<=n && a[k-1][l-1]<b[i-1][j-1])

b[i-1][j-1]=a[k-1][l-1]; }

printf(" \n");

for (i=1;i<=n;i++){

for (j=1;j<=n;j++)

printf("%7.2f",b[i-1][j-1]);

printf("\n"); }

getchar();getchar();}

:

b(i,j)=min a(k,l), k,l

┌ ┐

│ │

│ * │

│ * * │

│ * * * │

│ * * * * │

│ * * * * * │

│ * * * * * * │

│ * * * * * │

│ * * * * │

│ * * * │

│ * * │

│ * │

└ ┘

 

<=6 4

a(1,1)= 2.50

a(1,2)= 3.80

a(1,3)=-2.28

a(1,4)= 4.00

a(2,1)= 6.21

a(2,2)= 9.80

a(2,3)=-3.54

a(2,4)= 6.00

a(3,1)= 1.34

a(3,2)= 6.80

a(3,3)=-2.13

a(3,4)= 5.00

a(4,1)= 4.00

a(4,2)= 8.12

a(4,3)= 5.00

a(4,4)= 3.00

 

2.50 3.80 -2.28 4.00

6.21 9.80 -3.54 6.00

1.34 6.80 -2.13 5.00

4.00 8.12 5.00 3.00

-3.54 -3.54 -2.28 4.00

-3.54 -3.54 -3.54 6.00

-3.54 -3.54 -2.13 5.00

-3.54 -2.13 3.00 3.00

 

 

3. 64. 8, , , .

 

 

, . l. 0 1 .

 

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{ clrscr();

float p[64];

float a[8][8];

int n=8,i=0,j=0,k,l=0;

for (k=0;k<n*n;k++)

p[k]=k;

for (k=0;k<n*n;k++)

{ a[i][j]=p[k];

if (j==0 && i<n-1 && l==0)

{ i++;l=1; }

else if (i==0 && j<n-1 && l==1)

{ j++; l=0;}

else if (j==n-1 && l==1)

{ i++;l=0; }

else if (i==n-1 && l==0)

{ j++; l=1;}

else if (l==0)

{ i++; j--;}

else

{ i--; j++; }

}

for (i=0;i<n;i++)

{ for (j=0;j<n;j++)

printf("%3.0f ",a[i][j]);

printf ("\n");

}

}


1. A, n x n. , , 1-10.

2. A, n x n. , A , 1-10.

1. 2.

 

3. 4.

 

5. 6.

 

7. 8.

9. 10.

3. 64. 8, , , . 11-17

 

 

11 12

 
 

 

 


13 14

       
   

 

 


15 16

       
 
   
 

 

 


 

 

 
 

 

 

  1. .., .., .., .. . - .:, , 1998.
  2. . . .., ... .: , 2000.-80 .
  3. . . .., ... .: , 2000.-78 .
  4. .. . - .:, , 1989.

 

 


.

 

-

( , , )

___________________________________________

. 60´84 1/16

. . . . .

300 . ..

____________________________________________________

. .. .

603600 -20, ., . , 23.

___________________________________________

,603000,., . . 37.

___________________________________________

 

 





:


: 2016-12-17; !; : 307 |


:

:

,
==> ...

1547 - | 1504 -


© 2015-2024 lektsii.org - -

: 0.075 .