.


:




:

































 

 

 

 


, ,




- , .. , . , :

type _[K1][K2] [KN];

type ( ); _ ; N , -1 . : long Array[4][3][6];

Array , 36. ++ , , . . Array[0][0][0], Array[0][0][1], Array[0][0][2], , Array[0][0][5]

Array[0][1][0], Array[0][1][1], , Array[0][1][5], Array[0][2][0], , Array[0][2][5] 36 Array[1][0][0], Array[1][0][1] . .

.

long Array[4][3][6] = {0,1,2,3,4,5,6,7,8,9}; , Array, ..

Array[0][0][0] = = 0, Array[0][0][1] = =1, Array[0][0][2]= = 2, Array[0][0][3] = =3, Array[0][0][4] = = 4, Array[0][0][5] = = 5, Array[0][1][0] = = 6, Array[0][1][1] = = 7, Array[0][1][2] = = 8, Array[0][1][3] = = 9. Array .

, , , , . ( ). ,

long A[4][5][6] = { {{0}},

{ {100}, {110, 111} },

{ {200}, {210}, {220, 221, 222}} };

:

[0][0][0] = = 0

[1][0][0]== 100, [1][1][0] == 110, [1][1][1] == 111

[2][0][0] = = 200, [2][1][0] = = 210,

[2][2][0]== 220, [2][2][1] == 221, [2][2][2] == 222

.

, . . ,

float matrix [][5] = { {1}, (2}, {3} };

matrix 35, .

cout "\ n sizeof (matrix) = "sizeof (matrix); /* : sizeof(matrix)=60*/

matrix[0][0] = 1

matrix[1][0] = 2

matrix[2][0] = 3

, . . , , "" . -. , type ar [N] [M] [L], ar - , type [M] [L]. 1 ar sizeof(type) * M * L.

* (ar + 1) ar[l], .. , (&ar[0]), type[M] [L]. :

// 5.5

#include "stdafx.h"

#include <iostream>

void main(){

int b[3][2][4] = {0, 1, 2, 3,

10, 11, 12, 13,

100, 101, 102, 103,

110, 111, 112, 113,

200, 201, 202, 203,

210, 211, 212, 213,

};

// b[][][]

std::cout << "\nb = " << b;

// b[0][][]

std::cout << "\n*b = " << *b;

// b[0][0][]

std::cout << "\n**b = " << **b;

// b[0][0][0]

std::cout << "\n***b ="<< ***b;

// b[1][][]

std::cout << "\n*(b + 1) = " << *(b + 1);

// b[2][][]

std::cout << "\n*(b +2) = " << *(b + 2);

// b[0][1][]:

std::cout << "\n*(*b + 1) = " << *(*b + 1);

std::cout << "\n*(*(*(b + 1) + 1) + 1) = " <<*(*(*(b + 1) + 1) + 1);

std::cout << "\n*(b[l][l]+ 1) = " << *(b[1][1] + 1);

// b[2][0] [0];

std::cout<< "\n*(b[l] + 1)[1] = " << *(b[1] + 1)[1];

getchar();

}

:

b = 0x8d880fd0

*b = 0x8d880fd0

**b = 0x8d880fd0

***b = 0

*(b + 1) = 0x8d880fe0

*(b + 2) = 0x8d880ff0

*(*b + 1) = 0x8d880fd8

*(*(*(b + 1) + 1) + 1) = 111

*(b[1][1] + 1) = 111

*(b[1] + 1) [1] = 200

. b[i] [j] [k] *(*(* (b + i) + j) + k). :

*(*<*(b + 1) + 1) + 1) == b[1][1][1] ==111

:

*(b[1][1] + 1) == 111

, , , . . , , : ar[i][j][k], type ar[N][M][L], N, M, L - , :

, .. ar, (unsigned long)ar;

i * ( * L) * sizeof(type) i- M L, ;

j- ( ), L . (i * ( * L) + j * L) * sizeof (type);

k- , .. (unsigned long) (i * (M * L) + j * L + k) * sizeof(type);

, .. : * ((unsigned long) (i * ( * l) + j * l + k)).

. ++ , . , , , , . ,

int *array[6];/* int. array, , int. */

int (*ptr)[6]; /* ptr , int. , (array + 1) sizeof (int) (.. int). 1 ptr, sizeof (int[6]), .. 12 int.*/

* , .

, "". , ( , ..). char, . , "" :

char spisok[25][20];

, 25 19 (). spisok[0], spisok[l],... , . .

( ) . , , :

char spisok[][20] = { "", "", "" };

spisok 3 , 20 char (. 5.2).

. 5.2. char spisok[3][20] char *pointer[3],

 

. , spisok.

char* :

char *pointer [] = {"", "", ""};

pointer, 3 - char *, 3*sizeof (char *) . , "" (7 ), "" (7 ), "" (8 ), pointer[0], pointer[1], pointer[2]. . 5.2.

. , ( ) , , .

// 5.6

#include "stdafx.h"

#include <iostream>

void main (){

char *pointer []={"Ivanov", "Petrov", "Cidorov", "Antonov"};

int i, j;

char* temp;

int iNumberOfElement = 4;

for(i = 0; i < iNumberOfElement; i++) std::cout<<"\n\n"<< pointer [i];/* */

//

for(i = 0; i < iNumberOfElement -1; i++)

for(j = iNumberOfElement-1; j>i;j--){

if(strcmp(pointer [j], pointer [j-1]) <0){

temp = pointer [j]; //

pointer [j] = pointer [j-1];

pointer [j-1] = temp;

}

}

std::cout<<"\n\n\n";/* */

for(i = 0; i < iNumberOfElement; i++) std::cout<<"\n "<< pointer [i];

getchar();

}

 

"" , . - .

 

void* malloc(unsigned int size);

void free(void* p)

new delete

. new :

new _

, . new , .

.

long (*1)[2][4]; //

1 = new long[3][2][4]; //

, 24 long. , . 1 3 ´ 2 ´ 4 ´ sizeof (long) . ( ) 1 , , , .

, "", , , , delete. , ;

delete [] 1;

, , 1 . :

// 5.7

#include "stdafx.h"

#include <iostream>

void main(){

long (*lp) [2][4];

lp = new long [3][2][4];

std::cout<< "\n";

for (int i = 0; i < 3; i++) {

std::cout << "\n";

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

for (int k = 0; k < 4; k++) {

lp[i][j][k] = i + j + k;

std::cout<<'\t'<< lp[i][j][k];

}

}

getchar();

delete [] lp;

}

:

01231234

12342345

23453456

, , . . _ new :

new long[] // ,

new long[][2][4] // ,

new long[3][][4] // ,

. ( ) . . . , , , .

. , . , , , , ( ) :

// 5.8

#include "stdafx.h"

#include <iostream> // -

void main(){

int n; //

std::cout<< "\nInput order of matrix: ";

std::cin>> n; //

float **matr; //

matr = new float *[n]; // float *

if (matr == NULL){

std::cout<< "He !";

return; //

}

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

// - float:

matr[i] = new float[n];

if (matr[i] == NULL){

std::cout<< "He !";

return; //

}

for (int j = 0; j < n; j++) //

//

if (i!= j)

matr[i][j] = 0;

else // :

matr[i][j] = 1;

}

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

std::cout<< "\n row" << (i + 1) << ":";// :

for (int j = 0; j < n; j++)std::cout<< "\t" << matr[i][j];

}

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

delete matr[i];

delete[]matr;

getchar();

}

:

: 5 <Enter>

1: 10000

2: 01000

3: 00100

4: 00010

5: 00001

. 5.3 (n - 1) - , n . (n - 1) , .

. 5.3.

 





:


: 2018-10-15; !; : 200 |


:

:

, .
==> ...

1522 - | 1427 -


© 2015-2024 lektsii.org - -

: 0.052 .