Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 450
#1

Статический массив двухмерных динамических массивов - C++

12.10.2013, 21:27. Просмотров 253. Ответов 3
Метки нет (Все метки)

Необходимо создать статический массив двухмерных динамических массивов (матриц). Т.е. чтобы была некая стопка матриц, одна под другой. Очень важно, чтобы созданные матрицы были все инициализированы нулями.
Вот как делаю я:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#define N 10
float**Array[N];   // N - число матриц
int m = 5; // кол-во строк в каждой матрице
int n = 9; // кол-во столбцов в каждой матрице
int k, i;
 
for (k = 0; k < N; k++)  // Прописывает NULL для дальнейшей проверки перед удалением матриц
    {
        Array[k] = NULL;
    }
 
    for (k = 0; k < N; k++)    // выделяем память под новые данные
    {
 
        Array[k] = new float*[m];       // m-строк
 
        for (i=0; i<m; i++)
        {
             Array[k][i] = new float[n];   // n-столбцов
             memset(Array[k][i], 0, sizeof(float)*n); // обнуление данных
        }
    }
 
for (k = 0; k < N; k++) 
{
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
   // Правильный ли здесь порядок следования i, j, k? По смыслу для меня важно, 
   // чтобы i - это был номер строки, j - номер столбца, k - номер матрицы
                        Array[k][i][j] = rand();
                }
        }
}
 
    for (k = 0; k < N; k++)    // удаляем данные
    {
        if (Array[k])
        {
            for (i=0; i<m; i++)
                delete[]Array[k][i];
 
            delete[]Array[k];
        }
    }
Посмотрите, все верно в программе? Нигде я не вылезаю за пределы массива? Правильно ли идет индексация по i, j, k? Правильно ли я (безопасно ли и полностью ли) обнуляю все исходные матрицы? Правильно ли и безопасно ли удаляются данные в конце программы?

Не по теме:

P.S. Сперва хотел создать топик в разделе "c++ для экспертов", но сайт меня блокирует.

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2013, 21:27     Статический массив двухмерных динамических массивов
Посмотрите здесь:

обработка двухмерных динамических массивов - C++
Помогите пожалуйсто с задачкой написать программу по обработке динамических массивов, размеры массивов водить с клавиотуры. Задана...

двухмерных массивов - C++
Привет ребята=)!!!Помогите пожалуйста в решении задач....А то в двухмерных массивах я вообще не понимаю=(((....Вот сами задачи: 1....

Обработка двухмерных массивов - C++
Дана матрица А (5*5) нецелых элементов. -3.8 0 5.3 4.5 0.5 0.2 -1.3 0 -8.5 3.5 -1.1 1.8 5.1 -8.2 0.32 0 -0.3 0 -1.28 0.52 -0.3...

Инициализация двухмерных массивов - C++
Доброго времени суток. Объясните, пожалуйста, почему так все работает нормально: int x = {1,1}; А так: int a = 1; int b =...

«Обработка двухмерных массивов» - C++
Прошу помочь.. пожалуйста простым способом очень нужно! заранее спасибо Найти наибольший элемент главной диагонали матрицы А(4х4) и...

Матрица с использованием двухмерных массивов - C++
Добрый день. Нужна помощь в написании программы. Дана матрица размера M х M. Найти все положительные элементы матрицы. Элементы я должен...

Обработка двухмерных массивов простым способом - C++
Помогите пожалуйста решить лабу простым способом Дана целочисленная квадратная матрица. Определить произведение элементов в тех строках,...

Функция поика минимума и максимума двух двухмерных массивов - найти ошибку - C++
Собственно, проблема в том, что при компиляции, если количество строк или столбцов ( не одновременно ) массива больше 1, то выполнение...

Обработка динамических массивов - C++
Для размещения массивов следует использовать динамическую память. Задание В матрице удалить строку с минимальным произведением...

Создание динамических массивов - C++
Здравствуйте. Подтолкните в верном направлении. В начале пользователь задаёт количество массивов, потом размер первого массива, потом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
12.10.2013, 22:31     Статический массив двухмерных динамических массивов #2
znseday, а у вас компилируется этот код?
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 450
12.10.2013, 23:44  [ТС]     Статический массив двухмерных динамических массивов #3
Ну я
C++
1
int j;
потерял, когда сюда копипастил...
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 450
14.10.2013, 17:21  [ТС]     Статический массив двухмерных динамических массивов #4
Люди, кто что скажет? Все норм? (программа написана 100% мною)
Yandex
Объявления
14.10.2013, 17:21     Статический массив двухмерных динамических массивов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru