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

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

Войти
Регистрация
Восстановить пароль
 
Ieroglif
 Аватар для Ieroglif
18 / 18 / 1
Регистрация: 23.06.2011
Сообщений: 237
#1

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

16.04.2012, 23:32. Просмотров 774. Ответов 3
Метки нет (Все метки)

Добрый вечер, товарищи!

Вопрос такой, почему подобная инициализация массива допустима:
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
C++ Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива
Чтение одномерного массива в двумерный массив C++
Содержимое одномерного массива скопировать последовательно в двумерный массив C++
Создать двумерный массив из трехмерного массива по условию C++
Запись и чтение массива указателей в двумерный массив C++
Двумерный массив std::array. Размеры массива шаблоном C++
Двумерный массив заполнить данными одномерного массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 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:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru