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

Как создать динамический двумерный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удаление последнего слова из строки http://www.cyberforum.ru/cpp-beginners/thread1001131.html
Написать программу удаления последнего слова из строки. Заранее благодарю.
C++ Линейный массив Ребят, помогите решить задачку. Заранее спасибо!:) http://www.cyberforum.ru/cpp-beginners/thread1001118.html
в чем? C++
в чем проблема не могу понять! скачивал с оф. сайта макрософт http://www.cyberforum.ru/attachment.php?attachmentid=326607&stc=1&d=1383843604
C++ Действия с натуральным числом
Дано натуральное число n. Нужно найти сумму цифр числа; - найти первую цифру числа; - изменить порядок цифр числа на обратный; - найти количество парных цифр числа; - найти самую большую цифру числа; - найти сумму цифр числа больше чем 5; - дать ответ на вопрос, сколько раз эта цифра встречается в числе.
C++ Составление блок схемы для выполнения операции одномерного массива http://www.cyberforum.ru/cpp-beginners/thread1001101.html
#include<iostream> #include<iomanip> #include<conio.h> using namespace std; int main() { const int N = 5; double a, p, k; int i;
C++ массив содержащий два стека Создать массив, котрый содержит два стека. Первый разместить сначала (растет к концу), второй - вконце (растет к началу). Заполнить и осбодить стеки. Элементами стека есть действительные числа. Один из стеко реализовать в виде списка. Помогите пожалуйста ... подробнее

Показать сообщение отдельно
Sendy
1 / 1 / 0
Регистрация: 07.11.2013
Сообщений: 13
07.11.2013, 23:57     Как создать динамический двумерный массив
Смотри, все довольно просто. Тебе нужно сначала создать указатель на двумерный массив. Потом выделить память для строк, а потом выделить память для всех элементов строк, т.е для всех столбцов. И не забывай освобождать память. Это тебе не c# где есть отличный сборщик мусора. Если не будешь освобождать память то в скором времени тебе придется перезагрузить комп. Вот пример кода

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
// N - это количество строк  M - это количество столбцов
int **a; // делаем указать на двумерный массив
a = new int*[N]; // инициализируем строки
for(int i=0;i<M;i++) 
        a[i] = new int[M]; // инициализируем столбцы
// теперь заполним массив
for(int i = 0 ; i<N; i++)
{
    for(int j = 0; j<M; j++)
    {
         a[i][j] = 1; // весь массив будет заполнен единицами, обязательно нужно чем то заполнить, так как если 
                        // обратиться к элементу массива который не заполнен, то прога вылетит 
    }
}
 
// теперь можно вывести все элементы на экран
for(int i = 0 ; i<N; i++)
{
    for(int j = 0; j<M; j++)
    {
         cout<<a[i][j]<<"  ";
    }
    cout<<endl; // endl переносит каретку на другую строку (проще говоря перенос строки), можно еще записать как "\n"  
}
 
// теперь нужно удалить все из памяти
for (int i=0;i<M;i++) delete [] a[i]; // сначала удалим все столбцы
delete [] a; // а теперь все строки
// готово...есть еще несколько способов реализации, но это нужно вспоминть
 
Текущее время: 19:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru