Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
1

массив

21.04.2011, 09:52. Показов 639. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cout<<"Enter n:"<<endl;
        int n;
        cin>>n;
        cout<<"Enter m:"<<endl;
        int m;
        cin>>m;
 
        int** M=new int*[n];
        int i;
        for(i=0; i<n; i++)
        {
                M[i]=new int[m];
        }
поясните чайнику что значит int** M=new int*[n];
C++
1
2
3
4
5
        int i;
        for(i=0; i<n; i++)
        {
                M[i]=new int[m];
        }
что за int** M на что она ссылается и на что ссылается new int*[n] и зачем тут операция присвоения
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2011, 09:52
Ответы с готовыми решениями:

Массив: Преобразовать массив, прибавив к четным числам, входящим в массив, значение первого элемента.
Есть задача С клавиатуры вводятся элементы целочисленного массива размера N. Преобразовать его,...

Дан массив, состоящий из 15 элементов целого типа. Получить новый массив, как разность между элементами исходного массив
Дан массив, состоящий из 15 элементов целого типа. Получить новый массив, как разность между...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести...

Массив: Как скопировать двумерный массив в другой массив?
Как скопировать двумерный массив в другой массив?

3
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
21.04.2011, 10:50 2
Цитата Сообщение от .Malek. Посмотреть сообщение
поясните чайнику что значит int** M=new int*[n];
Динамическое выделение памяти
Цитата Сообщение от .Malek. Посмотреть сообщение
что за int** M на что она ссылается и на что ссылается new int*[n] и зачем тут операция присвоения
int ** - этой указатель на указатель типа int. То есть M - это массив указателей. Для каждого из этих указателей так же выделяется память, и каждый из этих указателей в свою очередь ссылается на участок памяти.
В общем здесь происходит динамическое выделение памяти для матрицы.
0
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
21.04.2011, 10:55  [ТС] 3
т.е. если взять для примера матрицу
123
456
789
то операцией new int*[n] мы выделяем память для столбца 147 и присваиваем М?
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
21.04.2011, 11:17 4
Цитата Сообщение от .Malek. Посмотреть сообщение
то операцией new int*[n] мы выделяем память для столбца 147 и присваиваем М?
вообще так выделяется память под любой массив. и в случае, если этот массив часть матрицы то это будет строка, а не столбец.
В общем взгляни на картинку.
массив

Сначала имеется указатель int **M. Он ни на что не указывает, следовательно пока что он не валиден. Затем к нему применяется операция new int *[n]. Здесь выделяется память на массив указателей типа int. Указатель `M' теперь указывает именно на этот массив. Каждый из указателей в массиве M[0], M[1] ... M[n-1] пока еще не валиден. На следующем этапе в цикле выделяется память для каждого из этих указателей. То есть в итоге получается, что M - это массив массивов. В общем на картинке я думаю это все более понятно будет, чем на словах.
И очень важно очищать память после использования. В порядке обратном выделению, то есть сначала для каждого M[i], а потом для M.
1
21.04.2011, 11:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2011, 11:17
Помогаю со студенческими работами здесь

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста...

Массив: Случайным образом заполнить двумерный массив размерностью 3х4 цифрами от -20 до 10
Помогите пожалуйста с задачей Написать программу, которая случайным образом заполняет двумерный...

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок...

с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
с клавиатуры ввести массив,во второй записать нечетные элеиенты из первого.В третий массив записать...

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru