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

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

Войти
Регистрация
Восстановить пароль
 
lulusa
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 11
#1

Сложение матриц - C++

12.02.2014, 22:03. Просмотров 656. Ответов 1
Метки нет (Все метки)

Здравствуйте, написал класс Matrix, реализовал перегрузку оператора+ (как метод). В классе я храню int** data, саму матрицу создаю динамически в конструкторе. Реализовал перегрузку оператора= (понтятно для чего)
Наткнулся на некторую проблему.

В мейне у меня есть где-то что-то вроде.

C++
1
A = B + C; //type Matrix
Т.е. оператор+ должен венруть новую матрицу в эту часть программы. Собственно вопрос в том, как это сделать.

Если так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
Matrix Matrix::operator+ (const Matrix& b) const
    {
    if (N == b.GetN () && M == b.GetM ()) //N, M - размеры матрицы
        {
        Matrix C (N, M);
        for (int i = 0; i < N; ++i)
            for (int j = 0; j < M; ++j)
                C.Set (i, j, Get (i, j) + b.Get (i, j));
 
        return C;
        }
    }
То после строчки
C++
1
2
return C;
        }
Вызовется деструктор локальной перемнной С, и та динамич. матрица перестанет существовать.

Т.е.
C++
1
A + B = C; //A принимает мусор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 22:03     Сложение матриц
Посмотрите здесь:

Сложение матриц - C++
Разработать программу сложения матриц (максимальная размерность 10). Элементы матриц вещественные числа двойной точности.

Сложение матриц - C++
Помогите, пожалуйста. Даны две матрицы размером . Надо выполнить их сложение

Сложение и умножение матриц - C++
Даны матрицы A,B,C порядка n. Найти матрицу D=(A+B)C

Сложение и умножение матриц - C++
Даны квадратные матрицы A(nxn), B(nxn), C(nxn) написать программу вычисления (A+B)*C. Помогите со сложением и умножением Вот мои...

Сложение двух матриц - C++
Даны две матрицы 2х2: а и е, которые нужно сложить. У меня при сложении в результате выводит только первый столбец, помогите найти ошибку)...

Сложение двух матриц - C++
Сложение двух матриц. Приведите пожалуйста простой пример...

Сложение двух матриц - C++
помогите пожалуйста написать программу на языке С ++. даны два двумерных массива. нужно найти их сумму.

Сложение двух матриц - C++
Доброго времени суток Помогите пожалуйста в написании программы. Пользователь вводит Матрицу А(размер 2х2) и Матрицу В(размер 2х2). ...

Сложение матриц(классы) - C++
Всем привет. Есть задание сделать сложение матриц, но при этом определив класс вещ-ых матриц. вот что получилось. ТОлько вопрос. как это...

Сложение двух матриц 2x2 - C++
Добрый вечер всем, с толкнулся с проблемой при рассмотрении примера сложение двух матриц 2x2, не могу понять из-за чего у меня выдает...

Умножение, сложение и транспонирование матриц - C++
помогите написать программу на языке с++ которая выполняет умножение, сложение и транспонирование матриц

Сложение и вычитание вещественных матриц - C++
ПОМОГИТЕ ПОЖАЛУЙСТА С ЗАДАЧКОЙ, СРОЧНО НУЖНО БЫЛО!!!!!!!!!, ВОТ И САМА ЗАДАЧКА.... Написать и протестировать функцию для сложения и...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
12.02.2014, 22:19     Сложение матриц #2
Цитата Сообщение от lulusa Посмотреть сообщение
Вызовется деструктор локальной перемнной С,
До этого при выполнении операции return производится копирование матрицы C
(копиконструктор надо реализовать правильно, чтобы он копировал значения матрицы)
и уже эта копия передается на возврат значения.
Ответ Создать тему
Опции темы

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