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

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

Войти
Регистрация
Восстановить пароль
 
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
#1

выделение памяти - C++

02.12.2011, 13:29. Просмотров 742. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
class Matrix {
    int m, n;
public:
    float **M;
    Matrix(int a, int b);
    void input();
};
 
Matrix::Matrix(int a, int b)
{
    M = new float*[a * b];
    n = a;
    m = b;
}
 
void Matrix::input()
{
 
    for (int i = 0; i < n; i++)
        for ( int j = 0; j < m; j++) {
            cout << "m[" << i << "][" << j << "]= ";
            M[i][j] = 1;
        }
}
 
int main() {
    Matrix *A = new Matrix(3,2);
    A->input();
    return 0;
}
при присвоении M[i][j] = 1; вылетает ошибка -
Необработанное исключение в "0x00ac15fb" в "Задачи по с++.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcdcdcd".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2011, 13:29     выделение памяти
Посмотрите здесь:

Выделение памяти. - C++
Значит так.Задача такая. Ввести строки или строку символов. Сколько мы будем вводить символов неизвестно.Может быть 10 а может быть...

выделение памяти - C++
Здравствуйте, помогите пожалуйста исправить ошибку, это лишь малая часть кода. В задании: поле name должно быть динамическим: char...

Выделение памяти - C++
Нубский вопрос, но не могу до конца разобраться. Допустим, есть простое определение переменной: int ival = 1024; Когда и как...

выделение памяти - C++
есть класс множество. необходимо создать класс &quot;правило&quot;, одним из методов которого является добавление множества к соответствующему списку...

Выделение памяти - C++
Какая разница между выделением памяти функциями malloc, calloc, realloc и оператором new? И как изменить размер выделенной памяти без...

Не выделение памяти - C++
По какой причине не работает это программа ? #include&lt;iostream&gt; #include &lt;string&gt; using namespace std; int main () ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
02.12.2011, 13:42     выделение памяти #2
херню сморозил
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
02.12.2011, 13:43  [ТС]     выделение памяти #3
co6ak, сомневаюсь))

Добавлено через 18 секунд
тут проблема с выделением памяти, незнаю что не так
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
02.12.2011, 13:47     выделение памяти #4
C++
1
2
3
4
5
6
7
8
Matrix::Matrix(int a, int b)
{
            M = new float* [a];
            for ( int i = 0; i < a; i ++ )
                  M[i] = new float [b];
            n = a;
            m = b;
}
?
LosAngeles
Заблокирован
02.12.2011, 13:47     выделение памяти #5
-----
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
02.12.2011, 13:49     выделение памяти #6
пробуй. работает
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
02.12.2011, 13:53  [ТС]     выделение памяти #7
co6ak, помогло.

Добавлено через 1 минуту
ещё вопрос, как тогда в таком случае удалять память? delete *M?
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
02.12.2011, 13:54     выделение памяти #8
C++
1
2
3
for ( int i = 0 ; i < N; i ++ )
 delete[]matrix [i];
delete [] matrix;
кажись так.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
02.12.2011, 13:57  [ТС]     выделение памяти #9
а зачем писать отдельно delete [] matrix?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 13:58     выделение памяти
Еще ссылки по теме:

Выделение памяти - C++
В чём ошибка выделения памяти? Подскажите, друзья! #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; #include...

До выделение памяти в С++ - C++
Всем приветик. Вообщем есть некоторые сложности с довыделение памяти... Что я хочу сделать: есть 2-х мерный массив (он ещё и квадратный)....

Выделение памяти - C++
Можно ли сделать так, чтобы в memory выделилась память для 5 int объектов, а затем раздать ее разным переменным? Пытался таким образом и...

Динамичный выделение памяти - C++
Добрый день форумчани, как можно реализовать динамическое выделение памяти (очередь, стек) в классе, Вот есть например два класса, Первый...


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

Или воспользуйтесь поиском по форуму:
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
02.12.2011, 13:58     выделение памяти #10
ну матрица это же массив массивов.
удалять нужно сначала все вложения. потом затереть саму основу
Yandex
Объявления
02.12.2011, 13:58     выделение памяти
Ответ Создать тему
Опции темы

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