Консультация № 126411
08.03.2008, 09:42
0.00 руб.
0 1 1
Как на C++ создать массив размера n (вводится с клавиатуры), одномерный, двумерный и более.

Обсуждение

Неизвестный
08.03.2008, 12:15
общий
это ответ
Здравствуйте, Юрий Анатольевич!
Для этого вам необходимо воспользоваться динамическими массивами. В приложении код в котором показано как создавать одномерный и двумерный массивы.Организация двумерного динамического массива производится в два этапа.Сначала создаётся одномерный массив указателей, а затем каждому элементу этого массива присваивается адрес одномерного массива.Для характеристик размеров массивов не требуется константных выражений. Для организации трёхмерного массива нужно использовать указатель на указатель на указатель int ***Array и дополнительного цикла

Приложение:
#include <iostream>#include <conio.h>#include <time.h>#include <stdio.h>using namespace std;void main(){ srand(time(NULL)); //Создание одномерного массива с размерностью заданной пользователем int n; cout<<"Vvedite razmer - "; cin>>n; int *p=new int[n]; //Заполним массив случайными значениями for(int i=0; i<n; i++) { p[i]=rand()%15; cout<<p[i]<<" "; } //Не забывать освобождать память после того как массив уже не нужен delete [] p; cout<<"\n\n"; //Пример создания двумерного динамического массива int x,y; cout<<"vvedite colichestvo strok - "; cin>>x; cout<<"Vvedite colichestvo stolbcob - "; cin>>y; int **Array=new int*[x]; for(int i=0; i<x; i++) { Array[i]=new int[y]; for(int j=0; j<y; j++) { Array[i][j]=rand()%20; cout<<Array[i][j]<<"\t"; } cout<<"\n"; } //Освобождаем память for(int i=0; i<x; i++) { delete [] Array[i]; } delete [] Array; getch();}
Форма ответа