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

выделение динамической памяти - C++

Восстановить пароль Регистрация
 
eyesandsky
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 7
01.12.2012, 17:12     выделение динамической памяти #1
помогите пожалуйста , нужно написать функцию для ввода новой матрицы, не получается выделить под него память.

класс:

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
mymatrix :: mymatrix (int r, int c) //конструктор
 
{
    
    a=new double * [row=abs(r)]; 
    for (int i=0; i<row; i++)
        a[i]=new double [col=abs(c)];
    
}
 
mymatrix :: ~mymatrix() //деструктор
{
    for (int i=0; i<row; i++)
        delete [] a[i];
    delete [] a;
}
 
void mymatrix :: memory()
    { 
 
    int n;
    int m;
    a=new double * [row=abs(n)];//выдаёт ошибку 
    for (int i=0; i<row; i++)
        a[i]=new double [col=abs(m)];
        
    
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
mymatrix vyvod(int nx=0)//задание матрицы
{
    int m,n;
    cout<<"Укажите размерность матрицы"<<endl;
    cin>>m>>n;  
    mymatrix a(m,n);
    cout<<"Заполните матрицу:"<<endl;
    cin>>a;
        cout<<"решение:"<<endl;
        cout<<a<<endl;
    return a;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 17:12     выделение динамической памяти
Посмотрите здесь:

C++ матрица, выделение динамической памяти...
C++ Выделение динамической памяти
Выделение динамической памяти C++ C++
Выделение динамической памяти C++
C++ Выделение динамической памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
01.12.2012, 18:01     выделение динамической памяти #2
такой пример
C++
1
2
3
int **x=new int* [N];   //выделяем память для матрицы х
    for(int i=0;i<N;i++)
    x[i] = new int [N];
Добавлено через 2 минуты
C++
1
row=abs(r)
вот такие выражения возвращают true
и у вас получается
C++
1
a=new double * [true];
не знаю, что вы хотели этим сказать...)
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
01.12.2012, 18:01     выделение динамической памяти #3
C++
1
2
3
4
int **x=new int* [N];   //выделяем память для матрицы х
x[0]=new int [N*N];
for(int i=1;i<N;i++)
    x[i] = x[i-1]+N;
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
01.12.2012, 18:10     выделение динамической памяти #4
Тем с выделением памяти туча. Вот, к примеру:
Динамическое создание массива (одномерного и двумерного)
Yandex
Объявления
01.12.2012, 18:10     выделение динамической памяти
Ответ Создать тему
Опции темы

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