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

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

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

При умножении матриц результат равен нулю - C++

21.11.2014, 03:19. Просмотров 164. Ответов 2
Метки нет (Все метки)

При умножении матриц мне вместо нормального ответа выводит нули, почему? помогите плиз...
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream.h>
#include <math.h>
#include <vcl.h>
#include <conio.h>
 
int main(int argc, char* argv[])
{
double a[100][100], b[100][100], c[100][100];
int i,j,m,n;
cout<<"Matrix size";
cin>>n;
cout<<endl;
 
cout<<"a matrix:"<<endl;
for(i=0; i<n; i++)
  {
    for(j=0; j<n; j++)
      {
        cin>>a[i][j];
      }
  }
cout<<"b matrix:"<<endl;
for(i=0; i<n; i++)
  {
    for(j=0; j<n; j++)
      {
        cin>>b[j][i];
      }
  }
for(i=0; i<n; i++)
  {
    for(j=0; j>n; j++)
      {
 
        for(m=0; m<n; m++)
          {
            c[i][j]+=a[i][m]*b[m][j];
          }
      }
  }
cout<<"rezult:"<<endl;
for(i=0; i<n; i++)
  {
    for(j=0; j<n; j++)
      {
        cout<<c[i][j]<<" ";
      }
    cout<<endl;
  }
        getch();
        return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2014, 03:19     При умножении матриц результат равен нулю
Посмотрите здесь:

Ошибка при умножении C++
C++ Найти все двузначные числа, которые при умножении на 2 заканчиваются на 8, а при умножении на 3 - на 4.
как объявить что размер вектора равен нулю? C++
Ошибка при умножении C++
C++ Проверить ассоциативность при умножении матриц
Определяет наличие в матрице хотя бы одного элемента, который равен нулю (Pascal -> C++) C++
C++ Не могу найти ошибку при умножении 2х матриц
C++ Неверное значение при умножении больших чисел
Размер вектора всегда равен нулю C++
Первый элемент массива равен 1 а остальные почему-то нулю C++
Исправить ошибку из-за которой приложение падает при умножении матриц C++
C++ Результат вычисления по формуле всегда равен нулю

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3610 / 1885 / 500
Регистрация: 18.10.2014
Сообщений: 3,446
21.11.2014, 03:21     При умножении матриц результат равен нулю #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Tima1996 Посмотреть сообщение
for(j=0; j>n; j++)
Строка 32. Внимательнее надо быть. 'j < n'.

Дебаггером пользоваться не учили?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.11.2014, 06:04     При умножении матриц результат равен нулю #3
Цитата Сообщение от Tima1996 Посмотреть сообщение
for(m=0; m<n; m++) { c[i][j]+=a[i][m]*b[m][j]; }
Накапливаемую сумму надо инициировать нолём:
C++
1
2
3
4
for (m=0, c=0; m<n; ++m)
{
 c[i][j]+=[i][m]*b[m][j];
}
, а не полагаться на то, что в ней не будет мусора.
Yandex
Объявления
21.11.2014, 06:04     При умножении матриц результат равен нулю
Ответ Создать тему
Опции темы

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