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

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

Войти
Регистрация
Восстановить пароль
 
ВладикГлусенко
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 31
#1

Написать функцию, вычисляющую произведение двух матриц - C++

17.01.2013, 15:37. Просмотров 582. Ответов 4
Метки нет (Все метки)

N.3.Написать функцию, вычисляющую произведение двух матриц.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 15:37     Написать функцию, вычисляющую произведение двух матриц
Посмотрите здесь:
Написать функцию, вычисляющую произведение двух матриц C++
C++ Написать функцию, вычисляющую произведение, используя только сложение
Написать функцию f(r1, r2), вычисляющую площадь кольца, заключенного между кругами двух радиусов r1 и r2 C++
C++ Написать функцию, которая возвращает произведение двух целых чисел
Написать функцию, которая возвращает произведение двух целых чисел, полученных в качестве аргумента C++
C++ Написать функцию, возвращающую произведение двух параметров, если оба параметра < 0, иначе их сумму
Шаблоны: написать функцию, которая ищет произведение среди двух, трех и четырех целых и действительных чисел C++
Матрицы: Написать функцию, которая находит произведение ненулевых элементов двух строк матрицы C++
Произведение двух матриц C++
Написать функцию вычисляющую проценты C++
C++ Найти произведение двух матриц
Написать функцию, вычисляющую заданное выражение C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shin-chan
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 16
17.01.2013, 18:42     Написать функцию, вычисляющую произведение двух матриц #2
Матрицы любые? Как заполняются?
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
17.01.2013, 22:06     Написать функцию, вычисляющую произведение двух матриц #3
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
 
using namespace std;
 
 
int ** multiplication(int row_1,int col_1,int** matrix_1,
                      int row_2,int col_2,int** matrix_2 ){
        if (col_1==row_2) {
            int** result= new int*[row_1];
            for (int i = 0; i < row_1; i++) {
                result[i] = new int[col_2];
            }
 
            for (int i = 0; i < row_1; i++) {
                for (int j = 0; j < col_2; j++) {
                    int sum = 0;
                    for (int k = 0; k < row_2; k++) {
                        sum +=matrix_1[i][k]*matrix_2[k][j];
                    }
                    result[i][j] = sum;
                }
            }
            return result;
        }
        return NULL;
 
}
 
 
int main()
{
    system("chcp 1251");
 
    int row_1,col_1;
    int** matrix_1;
 
    int row_2,col_2;
    int** matrix_2;
 
    cout << "Введите размеры 1 матрицы " << endl;
    cin >> row_1 >> col_1;
 
    matrix_1= new int*[row_1];
            for (int i = 0; i < row_1; i++) {
                matrix_1[i] = new int[col_1];
                for (int j = 0; j < col_1; j++) {
                    cout <<"Введите элемент " ;
                    cin >> matrix_1[i][j];
                }
                cout << endl;
    }
 
    cout << "Введите размеры 2 матрицы " << endl;
    cin >> row_2 >> col_2;
 
    matrix_2= new int*[row_2];
            for (int i = 0; i < row_2; i++) {
                matrix_2[i] = new int[col_2];
                for (int j = 0; j < col_2; j++) {
                    cout <<"Введите элемент " ;
                    cin >> matrix_2[i][j];
                }
                cout << endl;
    }
 
    cout << "Матрица 1 "<<endl;
    for (int i = 0; i < row_1; i++) {
        for (int j = 0; j < col_1; j++) {
            cout << matrix_1[i][j] <<" ";
        }
        cout << endl;
    }
 
    cout  << "Матрица 2 "<< endl;
    for (int i = 0; i < row_2; i++) {
        for (int j = 0; j < col_2; j++) {
            cout << matrix_2[i][j] <<" ";
        }
        cout << endl;
    }
    cout << endl;
 
    int ** result = multiplication(row_1,col_1,matrix_1,row_2,col_2,matrix_2);
 
    if (result) {
        cout << "Матрица результат "<<endl;
        for (int i = 0; i < row_1; i++) {
            for (int j = 0; j < col_2; j++) {
                cout << result[i][j] <<" ";
            }
            cout << endl;
        }
        for (int i = 0; i < row_1; i++) {
            delete[] result[i];
        }
        delete[] result;
    } else {
        cout << "Произведение невозможно "<<endl;
    }
 
    system("pause");
    return 0;
 
}
ВладикГлусенко
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 31
20.01.2013, 12:34  [ТС]     Написать функцию, вычисляющую произведение двух матриц #4
любые...
ВладикГлусенко
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 31
22.01.2013, 20:36  [ТС]     Написать функцию, вычисляющую произведение двух матриц #5
объясни пожалуйста...
Yandex
Объявления
22.01.2013, 20:36     Написать функцию, вычисляющую произведение двух матриц
Ответ Создать тему
Опции темы

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