.


:




:

































 

 

 

 


2




:

. M(m, n) 1 m x n , .

Microsoft Visual Studio 2013 ( Win32 Console Application) (Empty project). .cpp, .

:

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char* argv[])

{

int **pMatr;

int n, m;

printf_s("n="); scanf_s("%d", &n);

printf_s("m="); scanf_s("%d", &m);

pMatr = (int **)malloc(n*sizeof(int *));

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

pMatr[i] = (int *)malloc(m*sizeof(int));

int i = 0, j = 0, //

minx = 0, maxx = m - 1, miny = 0, maxy = n - 1; //

int step = 1; // ( 1 -1)

bool flag = true; //

// true - false -

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

{

pMatr[i][j] = k + 1;

if (flag)

{

if (step>0) if (j<maxx) j++;

else {

miny++;

flag = false;

i++;

}

else

if (j>minx) j--;

else {

maxy--;

flag = false;

i--;

}

}

else //

if (step>0) if (i<maxy) i++;

else {

maxx--;

flag = true;

step = -1;

j--;

}

else

if (i>miny) i--;

else {

minx++;

flag = true;

step = 1;

j++;

}

}

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

{

for (int j = 0; j<m; j++)

printf_s("%4d", pMatr[i][j]);

printf_s ("\n");

}

//

for (int i = 0; i<n; i++) free(pMatr[i]);

free(pMatr);

system("pause");// ,

return 0;

}

 

: ; ; ; ; ; .

 

1. .

2. .

3. .

4. .


 

4.

,

, . :

- , [1, 3];

- ;

- ;

- ;

- .





:


: 2015-10-01; !; : 430 |


:

:

, , .
==> ...

1711 - | 1384 -


© 2015-2024 lektsii.org - -

: 0.007 .