Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2021, 12:31   #1
3a9lu
Новичок
Джуниор
 
Регистрация: 22.11.2020
Сообщений: 3
Вопрос Заполнение двумерного массива (матрицы)

Нашёл в интернете код, переделал под себя, не могу понять что означают некоторые строки, написал комментарии рядом с ними. Если не сложно, можно очень подробно разъяснить.
Код:
#include <iostream>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL, "ru");
 
    int n, m;
    cout << "Введите количество элементов в столбце: ";
    cin >> n;
    cout << "Введите количество элементов в строке: ";
    cin >> m;
 
    int** mass = new int* [n]; // Понимаю что это указатель, но не понимаю полностью
 
    for (int i = 0; i < n; i++) {
        mass[i] = new int[m]; // И вот это
        for (int j = 0; j < m; ++j) {
            cout << "Элемент [" << i << "][" << j << "] = ";
            cin >> mass[i][j];
        }
    }
    delete[] mass; 
    system("pause");
    return 0;
}
3a9lu вне форума Ответить с цитированием
Старый 17.01.2021, 09:38   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

int** mass - указатель на указатель на int

int** mass = new int* [n] - создание массива указателей на int (или массив массивов int)

mass[i] = new int[m] - создание массива на int

delete[] mass; -освобождение массива первого уровня.

Все остальные массивы утекли. Их тоже нужно освобождать в цикле
Алексей1153 вне форума Ответить с цитированием
Старый 17.01.2021, 17:39   #3
3a9lu
Новичок
Джуниор
 
Регистрация: 22.11.2020
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
Все остальные массивы утекли. Их тоже нужно освобождать в цикле
Вот так же?)
Код:
    for (int i = 0; i < n; ++i) {
        delete[] mass[i];
    }
3a9lu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение двумерного массива одномерным Эмиль_C++ Общие вопросы C/C++ 2 12.03.2013 21:30
Ручное заполнение двумерного массива BloodyRaven Общие вопросы C/C++ 3 03.11.2012 13:33
Заполнение двумерного массива pisikaker Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2011 10:01
заполнение двумерного массива katena88 Общие вопросы Delphi 1 14.12.2010 14:15
[Pascal] заполнение двумерного массива Рамик Помощь студентам 13 18.02.2009 20:08