Не получается сделать динамический массив, в котором количество строк и элементов в строке определяет пользователь.
пишу так: int *m = new int[k][a]; , но не получается
Другие языки программирования и технологии
Как в с++ сделать полноценный динамический массив?
Я думаю тебе будет интересно почитать "Списки C++". Не получается у тебя скорее всего потому, что переменные a и k должны быть константами.
Конечно не получается - в C++ нет многомерных массивов. Есть массивы массивов, массивы указателей на массивы, массивы векторов и т. д. во всех возможных комбинациях. У всех вариантов есть свои плюсы и минусы. Вот исходя из этого и действуй.
std::vector
Дидар Ришадов
как будет выглядеть код с этим "вектором" для дин. массива massiv [k][a] ?
#include
#include
#include
using namespace std;
int main(int argc, char* argv[])
{
int stroka=5;
int stolb=3;
srand(time(0)); // генерация случайных чисел
// динамическое создание двумерного массива вещественных чисел
float **ptrarray = new float* [stroka];
for (int count = 0; count < stroka; count++)
ptrarray[count] = new float [stolb];
// заполнение массива
for (int count_row = 0; count_row < stroka; count_row++)
for (int count_column = 0; count_column < stolb; count_column++)
ptrarray[count_row][count_column] = (rand() % 10 + 1) / float((rand() % 10 + 1)); //заполнение массива случайными числами с масштабированием от 1 до 10
// вывод массива
for (int count_row = 0; count_row < stroka; count_row++)
{
for (int count_column = 0; count_column < stolb; count_column++)
cout << setw(4) <<setprecision(2) << ptrarray[count_row][count_column] << " ";
cout << endl;
}
// удаление двумерного динамического массива
for (int count = 0; count < stroka; count++)
delete []ptrarray[count];
system("pause");
return 0;
}

#include
#include
using namespace std;
int main(int argc, char* argv[])
{
int stroka=5;
int stolb=3;
srand(time(0)); // генерация случайных чисел
// динамическое создание двумерного массива вещественных чисел
float **ptrarray = new float* [stroka];
for (int count = 0; count < stroka; count++)
ptrarray[count] = new float [stolb];
// заполнение массива
for (int count_row = 0; count_row < stroka; count_row++)
for (int count_column = 0; count_column < stolb; count_column++)
ptrarray[count_row][count_column] = (rand() % 10 + 1) / float((rand() % 10 + 1)); //заполнение массива случайными числами с масштабированием от 1 до 10
// вывод массива
for (int count_row = 0; count_row < stroka; count_row++)
{
for (int count_column = 0; count_column < stolb; count_column++)
cout << setw(4) <<setprecision(2) << ptrarray[count_row][count_column] << " ";
cout << endl;
}
// удаление двумерного динамического массива
for (int count = 0; count < stroka; count++)
delete []ptrarray[count];
system("pause");
return 0;
}

Артём Тимоха
Сам ptarray не удалили. Да память освободит ОС, но...
Никак. Для этого нужно пилить руками фабрику объектов.
Артём Тимоха
Супер! Так и скажу своему диру =)
Похожие вопросы
- вопрос о динамических массивах в fortran
- динамический массив в Visual C++
- Написать программу в VBA арифметической прогрессии в динамическом массиве.
- С++: Как изменять размеры многомерных динамических массивов по ходу выполнения программы?
- Вычислить сумму нечетных элементов в программа С++ .Через статический и динамический массив! Вот я сам написал проверьте
- С++ Динамический массив
- Динамический массив. help
- Программирование С++ Что такое Динамические массивы?
- пожалуйста, напишите мне программу этого вопроса в C ++.пожалуйста помогите. Создать динамический массив из N чисел.
- Сортировка двумерного динамического массива
Коммент скорее для marc, но лан...