MyTetra Share
Делитесь знаниями!
Динамические массивы
Время создания: 27.07.2017 16:47
Раздел: Computer - Programming - C

Одномерный динамический массив:

#--------------------------------------------

#include <cstdlib> //для rand()

#include <stdio.h> //для printf и scanf


int main()

{

int amount = 0; //переменная для размера массива

int* ptrArray = NULL; //указатель на начало массива


printf("Enter number of X: ");

scanf("%i", &amount); //вводим кол-во элементов


ptrArray = new int[amount]; //динамически создаем массив int и адрес присваиваем указателю.

for(int i=0; i<amount; ++i) //заполняем массив

{

ptrArray[i] = rand() % 100;//рандомное число от 0 до 100

printf("%d\t", ptrArray[i]);//сразу выводим с табуляцией

}

printf("\n");


delete [] ptrArray;//удаляем массив (обязательно ставим [] для массива)

getchar(); //ожидаем ввод перед закрытием программы

getchar();

return 0;

}


Двумерный динамический массив:

#------------------------------------------

#include <cstdlib>

#include <stdio.h>


#define VARIA 4 //for Z, B, A and Betta


int main()

{

int amount = 0;

float** ptrArray = NULL;


printf("Enter number of X: ");

scanf("%i", &amount);


ptrArray = new float* [amount]; //массив из указателей типа float размером amount

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

{

ptrArray[i] = new float [VARIA]; //по указателю для каждой строки из VARIA-столбцов

}


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

{

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

{

ptrArray[i][j] = rand() % 100;

printf("%.1f\t", ptrArray[i][j]);

}

printf("\n");

}

printf("\n");


for(int i=0; i<amount; ++i) //освобождаем память тоже через цикл

{

delete [] ptrArray[i];

}

getchar();

getchar();

return 0;

}

 
MyTetra Share v.0.53
Яндекс индекс цитирования