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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
#1

Динамическое создание массива (одномерного и двумерного) - C++

01.12.2012, 16:42. Просмотров 1452. Ответов 2
Метки нет (Все метки)

Скажите, пожалуйста, как создать динамически два массива (одномерный и двумерный) и как к ним обращаться?
пусть их размерности будут [N] и [N][M]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 16:42     Динамическое создание массива (одномерного и двумерного)
Посмотрите здесь:

Создание двумерного массива C++
Представление одномерного массива как двумерного C++
C++ Динамическое выделение памяти для двумерного массива
создание двумерного массива C++
Динамическое создание массива C++
Заполнение одномерного массива из двумерного по определенному закону C++
C++ Передача части двумерного массива в функцию, как одномерного
Найти минимальные элементы в каждом столбце произвольного двумерного массива и записать их в виде одномерного C++
C++ Формирование одномерного массива из двумерного
C++ Создание и обработка одномерного массива
Динамическое создание двумерного массива string C++
динамическое создание двумерного массива и передача его как параметр функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.12.2012, 16:58     Динамическое создание массива (одномерного и двумерного) #2
Одномерный:
C++
1
2
3
4
5
int *a = new int [3];
     a[0]=4; 
     *a=3; //или так обратиться (только к нулевому элементу, для остальных нужно к a прибавлять индекс нужного элемента)
                  //"*" должна быть перед выражением,т.е *(выражение)
     cout<<a[0]<<endl;
Двумерный:
C++
1
2
3
4
5
int **b = new int* [3];
    b[0] = new int [5];
    b[0][0] = 5;
    **b = 7; //или так (опять же к нулевому), указателем на указатель
    cout<<b[0][0];
MrGluck
Ворчун
Эксперт CЭксперт С++
6634 / 3825 / 502
Регистрация: 29.11.2010
Сообщений: 10,111
01.12.2012, 17:03     Динамическое создание массива (одномерного и двумерного) #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    int N, M;
    std::cin>> N>> M;
    int *A = new int[N]; // создаем массив A[N]
    delete []A; // очищаем память, выделенную под динамический массив
 
    int **B = new int*[N]; // создаем массив указателей размером N
    for (int i=0; i < N; i++)
        B[i] = new int[M]; // каждый указатель теперь ссылается на массив, размерностью M
 
    //очищаем память
    for (int i=0; i < N; i++)
        delete []B[i];
    delete []B;
    return 0;
}
Yandex
Объявления
01.12.2012, 17:03     Динамическое создание массива (одномерного и двумерного)
Ответ Создать тему
Опции темы

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