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

Двумерный массив. Инициализация массива. - C++

Восстановить пароль Регистрация
 
Ieroglif
 Аватар для Ieroglif
18 / 18 / 1
Регистрация: 23.06.2011
Сообщений: 237
16.04.2012, 23:32     Двумерный массив. Инициализация массива. #1
Добрый вечер, товарищи!

Вопрос такой, почему подобная инициализация массива допустима:
C++
1
2
3
4
int a, b;
    cin>>a;
    cout<<endl;
    int* m=new int[a];
а матрицы:
C++
1
2
3
4
5
6
int a, b;
    cin>>a;
    cout<<endl;
    cin>>b;
    cout<<endl;
    int* m=new int[a][b];
нет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 23:32     Двумерный массив. Инициализация массива.
Посмотрите здесь:

C++ Дан двумерный массив. Найти среднее арифметическое k-й строки массива
C++ Двумерный массив. Определить количество «особых» элементов массива.
Двумерный массив. Возведение в степень составляющих массива C++
Дан двумерный массив.Получить последовательность чисел, получающуюся при чтение этого массива по спирали,по часовой стрелке начиная с середины массива C++
C++ Двумерный массив. Произведение элементов массива, кратных 3
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
16.04.2012, 23:36     Двумерный массив. Инициализация массива. #2
Цитата Сообщение от Ieroglif Посмотреть сообщение
int* m=new int[a][b];
а если попробовать: int ** ?
Ieroglif
 Аватар для Ieroglif
18 / 18 / 1
Регистрация: 23.06.2011
Сообщений: 237
17.04.2012, 00:05  [ТС]     Двумерный массив. Инициализация массива. #3
А всё равно не хочет

"1>c:\users\1\documents\visual studio 2008\projects\1t\1t\1t.cpp(16) : error C2540: неконстантное выражение используется в качестве границы массива
1>c:\users\1\documents\visual studio 2008\projects\1t\1t\1t.cpp(16) : error C2440: инициализация: невозможно преобразовать 'int (*)[1]' в 'int **'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции"

Добавлено через 25 минут
Вопрос исчерпан.
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
17.04.2012, 00:59     Двумерный массив. Инициализация массива. #4
надо так
C++
1
2
3
int ** a = new int*[m];
for(int i =0; i < m; ++i)
a[i] = new int[n];
Yandex
Объявления
17.04.2012, 00:59     Двумерный массив. Инициализация массива.
Ответ Создать тему
Опции темы

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