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

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

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

Не правильно умножает матрицу 3x3 - C++

21.05.2013, 11:53. Просмотров 375. Ответов 7
Метки нет (Все метки)

Всем привет.Помогите плиз найти ошибку в ф-ции.

C++
1
2
3
4
5
6
7
8
9
10
11
12
MATR MATR::operator * (const MATR &k)
{
    MATR Rez;
    
    std::cout << "Умножение матрицы" << std::endl;
    for(int i = 0; i < 3 ; i++)
        for(int j = 0 ; j < 3; j++)
            for (int m = 0 ; m < 3; m++)
                Rez.mas[i][j] += this->mas[i][m]*k.mas[m][j];
 
    return Rez;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 11:53     Не правильно умножает матрицу 3x3
Посмотрите здесь:

Написать программу, которая умножает матрицы.... Курсач горит!!!!! C++
C++ Матрица [3x3] через шаблоны
Правильно ли считываю матрицу? C++
Как правильно вывести матрицу C++
Подскажите правильно, или нет. Ввести с клавиатуры вещественную матрицу размерностью 5х5, определить C++
Написать функцию определителя квадратной матрицы A размера 3x3 C++
Создать калькулятор, который (умножает, делит суммирует, отнимает и находит остаток) оперирует двумя числами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1780 / 1155 / 223
Регистрация: 16.05.2013
Сообщений: 3,042
Записей в блоге: 5
Завершенные тесты: 1
21.05.2013, 11:57     Не правильно умножает матрицу 3x3 #2
Я пока мало знаком с указателями и перегрузкой операторов, но вопрос. Почему стоит оператор += вместо = в этой строчке?
C++
1
  Rez.mas[i][j] += this->mas[i][m]*k.mas[m][j];
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
21.05.2013, 18:22     Не правильно умножает матрицу 3x3 #3
Между 7-й и 8-й строками добавь: Rez.mas[i][j]=0;
lulu13
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 17
21.05.2013, 18:33  [ТС]     Не правильно умножает матрицу 3x3 #4
Поставила,в строчке
C++
1
Rez.mas[i][j] += this->mas[i][m]*k.mas[m][j];
пишет идентификатор i и j не определен.
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
21.05.2013, 18:34     Не правильно умножает матрицу 3x3 #5
Что поставила и куда? Покажи целиком что получилось.
lulu13
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 17
21.05.2013, 18:36  [ТС]     Не правильно умножает матрицу 3x3 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
MATR MATR::operator * (const MATR &k)
{
    MATR Rez;
    
    std::cout << "Умножение матрицы" << std::endl;
    for(int i = 0; i<3 ; i++)
        for(int j = 0 ; j < 3; j++)
            Rez.mas[i][j]=0; // сюда вставила
            for (int m = 0 ; m< 3; m++)
                Rez.mas[i][j] += this->mas[i][m]*k.mas[m][j]; // тут выбивает ошибку
 
    return Rez;
}
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
21.05.2013, 18:38     Не правильно умножает матрицу 3x3 #7
Тут нужны фигурные скобки чтобы указать тело цикла.
C++
1
2
3
4
5
6
7
for(int i = 0; i<3 ; i++) {
    for(int j = 0 ; j < 3; j++) {
        Rez.mas[i][j]=0;
        for (int m = 0 ; m< 3; m++)
            Rez.mas[i][j] += this->mas[i][m]*k.mas[m][j];
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 18:43     Не правильно умножает матрицу 3x3
Еще ссылки по теме:

Крестики-нолики. Работает корректно только для поля 3x3 C++
Программа правильно сохраняет, но не правильно считывает матрицу из файла C++
Умножает число длинное на короткое C++
Как в этой программе правильно вывести матрицу? а то она у меня "пляшет" C++
C++ Написать программу, которая умножает один массив на другой

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

Или воспользуйтесь поиском по форуму:
lulu13
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 17
21.05.2013, 18:43  [ТС]     Не правильно умножает матрицу 3x3 #8
Спасибо большое,все работает очень благодарна
Yandex
Объявления
21.05.2013, 18:43     Не правильно умножает матрицу 3x3
Ответ Создать тему
Опции темы

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