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

Класс матрица - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу понять как работает эта программа http://www.cyberforum.ru/cpp-beginners/thread905090.html
#include <iostream> #include <cstdio> using namespace std; #ifndef NULL #define NULL 0 #endif enum automat_state {NO_SPECIAL_CHARS, INCREMENT, DECREMENT, COMMENT_START, COMMENT_END,...
C++ автономная программа Прошу прощения (за возможно некорректное название темы). Возникла такая необходимость в создании приложения на си, которое будет пользоваться только кодом который имеется в данном проекте, вследствие... http://www.cyberforum.ru/cpp-beginners/thread905065.html
C++ Алмаз
Во входных данных содержится несколько строк тестовых данных. Каждый тест в отдельной строке содержит единственное целое неотрицательное число N (N ≤ 100), строка со значением N равным нулю...
C++ Функции (Составьте программу, обнуляющую главную диагональ квадратной матрицы, если в ней найдется хотя бы один отрицательный элемент)
Дан двумерный массив А(M, M) в виде квадратной матрицы. Составьте программу, обнуляющую главную диагональ матрицы, если в ней найдется хотя бы один отрицательный элемент. Из элементов побочной...
C++ Структуры (Создайте структуру Прямая с элементами x1, y1, x2, y2 – координаты двух точек, через которые проходит прямая) http://www.cyberforum.ru/cpp-beginners/thread905048.html
Создайте структуру Прямая с элементами x1, y1, x2, y2 – координаты двух точек, через которые проходит прямая. Для К заданных прямых вывести уравнение прямых в виде y=ax+b.
C++ Как реализовать двумерный динамический массив? Доброго дня суток, форумчане! Подскажите пожалуйста, как реализовать двумерный динамический массив? подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
18.06.2013, 15:41
Цитата Сообщение от Verrrasss Посмотреть сообщение
В матрице, которая равна произведению двух матриц каждый элемент равен сумме произведений элементов n строки 1 матрицы и m столбца 2, в чём не верен алгоритм мой?
То ли вы успели подредактировать, то ли я не доглядел. В любом случаи у вас в матрице коэффициенты (размеры) могут быть разными. А при всех проводимых операциях это не учитывается и может быть выход за пределы массива. И как я уже говорил в операции + вы изменяете объект вызывающий функцию, что по смыслу не верно.

Добавлено через 6 минут
Цитата Сообщение от Verrrasss Посмотреть сообщение
Но в Dev c++ работает операция +, и если всё же я не прав, то как тогда изменить функцию?
Приблизительно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
Matrix Matrix::operator+(const Matrix &rhs)
{
    Matrix result(0, n, m); // создать временный объект
 
    for (int i=0 ;i<n; i++)
    {
        for(int j=0;j<m;j++)
        {
            result.mat[i][j]= mat[i][j] + rhs.mat[i][j];
        }
    }
    return  result;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru