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

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

Восстановить пароль Регистрация
 
m1lka
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67
02.12.2012, 00:47     Умножение матриц #1
Помогите умножить 2 матрицы размерностью 4х4, нужно создать ф-ю.
Я пробовал, не получилось..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
typedef int mat44[4][4];
 
void mult_mat4(mat44 factor1, mat44 factor2, mat44 result)
{
    printf("\n");
    for(int i = 0; i < 4; i++) {
        printf("i=%i\n", i);
        for(int j = 0; j < 4; j++) {
        printf("j=%i\n", j);
            for(int k = 0; k < 4; k++) {
                printf("k=%i\n", k);
                result[i][j] += factor1[i][k] * factor2[k][i];
                printf("result=%i\n", result[i][j]);
            }
            
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 00:47     Умножение матриц
Посмотрите здесь:

C++ Умножение матриц
Умножение матриц C++
C++ Умножение матриц
C++ Умножение матриц
Умножение матриц C++
Умножение матриц C++
C++ Умножение матриц
Умножение матриц C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
02.12.2012, 11:37     Умножение матриц #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
#include <iostream>
using namespace std;
 
void function(int arr_1[4][4], int arr_2[4][4]){
    int arr_3[4][4];
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            if(arr_1[i][j]=arr_2[i][j]){
                arr_3[i][j]=arr_1[i][j]*arr_2[i][j];
        
            }
        }
    }
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            cout<<arr_3[i][j]<<" ";
        }
        cout<<endl;
    }
 
}
 
int main(){
    int arr_1[4][4];
    int arr_2[4][4];
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            cin>>arr_1[i][j];
        }
    }
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            cin>>arr_2[i][j];
        }
    }
    
    function(arr_1,arr_2);
    
    system("pause");
    return 0;
}
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 443
02.12.2012, 11:49     Умножение матриц #3
C++
1
2
3
4
5
6
7
8
9
10
11
void mult(float a[4][4], float b[4][4], float c[4][4])
{
int i,j,k;
for (i = 0; i < 4; i++)
   for (j = 0; j < 4; j++)
   { 
      c[i][j] = 0; // чтобы было к чему прибавлять, если массив "с" исходно забит мусором
      for (k = 0; k < 4; k++)
         c[i][j] += a[i][k]*b[k][j];
   }   
}
Yandex
Объявления
02.12.2012, 11:49     Умножение матриц
Ответ Создать тему
Опции темы

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