Другие языки программирования и технологии
С++ Динамический массив
Как сделать в с++ динамический массив?(для отправки в функцию)(квадратный) И если возможно,как сделать чтобы функция возвращала массив.
// danil_biba_2011-11-17
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int** func(int** a, int sizeLine, int sizeColumn);
void main()
{
int sizeLine, sizeColumn;
cout << " Input quantity of lines of array: ";
cin >> sizeLine;
cout << " Input quantity of columns of array: ";
cin >> sizeColumn;
int **a = new int* [sizeLine];
for (int n = 0; n < sizeLine; n++)
{
a[n] = new int [sizeColumn];
for (int m = 0; m < sizeColumn; m++)
{
a[n][m] = 0;
}
}
cout << " Initial array:" << endl;
for (int n = 0; n < sizeLine; n++)
{
cout << endl;
for (int m = 0; m < sizeColumn; m++)
{
cout << ' ' << a[n][m];
}
}
func(a, sizeLine, sizeColumn);
cout << " The returned array:" << endl;
for (int n = 0; n < sizeLine; n++)
{
cout << endl;
for (int m = 0; m < sizeColumn; m++)
{
cout << ' ' << a[n][m];
}
}
fflush(stdin);
cin.get();
for (int n = 0; n < sizeLine; n++) delete [] a[n];
delete [] a;
}
int** func(int** a, int sizeLine, int sizeColumn)
{
srand((unsigned) time(NULL));
for (int n = 0; n < sizeLine; n++)
{
cout << endl;
for (int m = 0; m < sizeColumn; m++)
{
a[n][m] = rand() % 10;
}
}
return a;
}
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int** func(int** a, int sizeLine, int sizeColumn);
void main()
{
int sizeLine, sizeColumn;
cout << " Input quantity of lines of array: ";
cin >> sizeLine;
cout << " Input quantity of columns of array: ";
cin >> sizeColumn;
int **a = new int* [sizeLine];
for (int n = 0; n < sizeLine; n++)
{
a[n] = new int [sizeColumn];
for (int m = 0; m < sizeColumn; m++)
{
a[n][m] = 0;
}
}
cout << " Initial array:" << endl;
for (int n = 0; n < sizeLine; n++)
{
cout << endl;
for (int m = 0; m < sizeColumn; m++)
{
cout << ' ' << a[n][m];
}
}
func(a, sizeLine, sizeColumn);
cout << " The returned array:" << endl;
for (int n = 0; n < sizeLine; n++)
{
cout << endl;
for (int m = 0; m < sizeColumn; m++)
{
cout << ' ' << a[n][m];
}
}
fflush(stdin);
cin.get();
for (int n = 0; n < sizeLine; n++) delete [] a[n];
delete [] a;
}
int** func(int** a, int sizeLine, int sizeColumn)
{
srand((unsigned) time(NULL));
for (int n = 0; n < sizeLine; n++)
{
cout << endl;
for (int m = 0; m < sizeColumn; m++)
{
a[n][m] = rand() % 10;
}
}
return a;
}
динамический массив делается запросом к операционной системе о выделении памяти
int* mas = new int[100];
функция может сама выделить память и возвратить укзатель на эту область, но вы должны после использования удалить массив из динамической памяти
delete [ ] mas;
int* mas = new int[100];
функция может сама выделить память и возвратить укзатель на эту область, но вы должны после использования удалить массив из динамической памяти
delete [ ] mas;
передавайте указатель на массив и возвращайте указатель на массив....
Похожие вопросы
- вопрос о динамических массивах в fortran
- динамический массив в Visual C++
- Написать программу в VBA арифметической прогрессии в динамическом массиве.
- С++: Как изменять размеры многомерных динамических массивов по ходу выполнения программы?
- Вычислить сумму нечетных элементов в программа С++ .Через статический и динамический массив! Вот я сам написал проверьте
- Динамический массив. help
- Программирование С++ Что такое Динамические массивы?
- пожалуйста, напишите мне программу этого вопроса в C ++.пожалуйста помогите. Создать динамический массив из N чисел.
- Сортировка двумерного динамического массива
- Помогите с программой на Си. (создание многомерных динамических массивов)