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

Умножение квадратных матриц - C++

Восстановить пароль Регистрация
 
Юля
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 3
15.05.2014, 20:04     Умножение квадратных матриц #1
Функция умножения:

C++
1
2
3
4
5
6
7
8
void Multiplication (int a[N][N], int b[N][N],int c[N][N]){
    for(int i=0,n=0; i<=N-1&& n<=N-1; i++, n++){
            c[i][n]=0;
            for(int j=0,m=0;j<=N-1&& m<=N-1; i++, n++){
                c[i][n]+=a[i][j]*b[m][n];
            }
    }
}
Программа прекращает работу, как раз на этапе умножения двух матриц.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tegauss
30 / 24 / 24
Регистрация: 06.05.2014
Сообщений: 158
15.05.2014, 20:09     Умножение квадратных матриц #2
Юля, должно быть как-то так:

C++
1
2
3
4
for (int i = 0; i < N; i++)
  for (int j = 0; j < N; j++)
    for (int k = 0; k < N; k++)
      c[i, j] += a[i, k] * b[k, j];
Юля
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 3
15.05.2014, 21:18  [ТС]     Умножение квадратных матриц #3
спасибо)
а в чем ошибка в моем коде?

Добавлено через 16 минут
уже поняла
tegauss
30 / 24 / 24
Регистрация: 06.05.2014
Сообщений: 158
15.05.2014, 21:33     Умножение квадратных матриц #4
Юля, судя по всему, Вы пока не очень понимаете, как работают циклы.

Например, это

C++
1
2
for(int i=0,n=0; i<=N-1&& n<=N-1; i++, n++){
c[i][n]=0;
видимо, задумывалось для того, чтобы инициализировать нулями всю матрицу С. На самом же деле, после выполнения этого кода нулями будет заполнена только главная диагональ матрицы. Почему - предлагаю Вам подумать самой
Yandex
Объявления
15.05.2014, 21:33     Умножение квадратных матриц
Ответ Создать тему
Опции темы

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