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

Вопрос по массивав, "институтский" вопрос. - C++

Восстановить пароль Регистрация
 
radx
2 / 2 / 0
Регистрация: 31.01.2009
Сообщений: 12
06.02.2009, 12:23     Вопрос по массивав, "институтский" вопрос. #1
Готовлюсь к летней сессии по программированию. С++

Есть такая вот задачка (привожу как есть)

Какие операторы надо записать до оператора
int(*a)[n] = new int[m][n]
чтобы был открыт массив, содержащий 5 строк и 10 столбцов
В документации подобного не нашел. С программистами пообщался - такого не встречали. Такое может быть вообще в природе? И соответствует ли это стандарту: ANSI C++ ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Бартимеус
 Аватар для Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
06.02.2009, 12:39     Вопрос по массивав, "институтский" вопрос. #2
возможно я ошибаюсь, но мне кажется что эта строка создает указатель на массив, кторый в свою очередь является массивом матриц. как-то так
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
06.02.2009, 12:39     Вопрос по массивав, "институтский" вопрос. #3
вот пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
int const row = 5;
int const col = 10;
 
int **arr = new int*[row];
for(int i = 0; i < row; ++i)
    arr[i] = new int[col];
 
//........................
 
for(int i = 0; i < row; ++i)
    delete[] arr[i];
delete[] arr;
Бартимеус
 Аватар для Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
06.02.2009, 12:40     Вопрос по массивав, "институтский" вопрос. #4
если я прав то надо переменные n и m инциализировать как константы
M1H@L
 Аватар для M1H@L
2 / 2 / 0
Регистрация: 30.11.2010
Сообщений: 62
30.11.2010, 00:42     Вопрос по массивав, "институтский" вопрос. #5
int(*a) = new int[5][10]
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
30.11.2010, 01:02     Вопрос по массивав, "институтский" вопрос. #6
Какие проблемы-то? Создается m указателей на n интеджеров.
Нужно инициализировать все встречающиеся переменные.
Не первая размерность должна быть константой.
Следовательно,
C++
1
2
3
    const int n = 10;
    int m = 5;
    int (*a)[n] = new int[m][n];
Yandex
Объявления
30.11.2010, 01:02     Вопрос по массивав, "институтский" вопрос.
Ответ Создать тему
Опции темы

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