. :
int A[2][3][2]={ 1, 2, 3, 4, 5};
5 , .. : 000, 001, 010, 011, 020
, , :
int B[][5]={{ 1, 2, 3}, { 6, 7}, { 1, 2, 3, 4, 5 }};
3 × 5 ( 3 × 5, 3 , 2 , 5 ).
. n × m ( n × m), n m . n × m, , , .
#include <stdio.h>
#include <stdlib.h>
void main()
{
int **p; //
// 2-
int n, m; //
int i, j; //
printf_s("n="); scanf_s("%d", &n); //
printf_s("m="); scanf_s("%d", &m); //
p = malloc(n*sizeof(int *)); //
// p=(int **)malloc(n*sizeof(int *)); ++
//
for (i = 0; i<n; i++) p[i] = malloc(m*sizeof(int)); //
// for(i=0; i<n; i++) p[i]=(int *)malloc(m*sizeof(int)); ++
// ()
for (i = 0; i<n; i++)
{
for (j = 0; j<m; j++)
{
p[i][j] = rand() % 100; //
printf_s("%d ", p[i][j]);
}
printf_s("\n"); //
}
// ,
for (i = 0; i<n; i++) free(p[i]); //
free(p);//
system("pause");
}
: . .
, . () , . . (, .) .
|
|
(). , . . . ( , , .) () .
1
:
. , "" , . . , . .
Microsoft Visual Studio 2013 ( Win32 Console Application) (Empty project). .cpp, .
:
#include <stdio.h>
#include <stdlib.h>
void main()
{
double *pMas; //
int n; //
//
printf_s("n=");
scanf_s("%d", &n);
//
pMas = (double *)malloc(n*sizeof(double));
// [0, 100)
//
for (int i = 0; i<n; i++)
{
pMas[i] = rand() % 100;
printf("%f ", pMas[i]);
}
//
for (int i = 0; i<n / 2; i++)
{
// 2 ,
double buf = pMas[i];
pMas[i] = pMas[n - 1 - i];
pMas[n - 1 - i] = buf;
}
//
printf("\n");
for (int i = 0; i<n; i++)
printf("%f ", pMas[i]);
//
free(pMas);
// ,
system("pause");// ,
}
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;
}