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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание файлов в подпапке.Подскажите http://www.cyberforum.ru/cpp-beginners/thread764845.html
Есть код, создающий файл в папке с ехе. ofstream Error_logfile("Error.log"); А как сделать, что бы он создавался в папке(лежащей рядом с ехе).Например, в logs?
C++ Найти наименьший элемент матрицы Как найти наименьший элемент матрицы? http://www.cyberforum.ru/cpp-beginners/thread764826.html
C++ Трабл с обращением к функции класса
Здравствуйте, у меня появилась проблема в том, что при обращении к функции шаблонного класса вылетает ошибка: CArray<int> arr_int; arr_int.SetCapacity(2); arr_int.AddElement(4); Test1(arr_int,4,4); template <class X> void Test1(X f,int _na,int _nnumb) {
C++ Рекурсия функций
Пожалуйста, киньте ссылку на подробное изучение рекурсии функций, а то читаю самоучитель, там этому уделено мало внимания и не очень хорошо объяснено, а я хочу это понять. Заранее спасибо.
C++ Черепашья графика (язык Лого) http://www.cyberforum.ru/cpp-beginners/thread764802.html
Хочу смоделировать перемещение черепахи по полю. У черепахи есть перо. Если оно опущено, то на поле остается след, если поднято - следа не будет. При каждом вводе на экране должна отображаться текущая ситуация на поле. Не могу понять, где совершил ошибку, выдает ошибку в стэке floor. Если есть идеи, подскажите, пожалуйста. Извиняюсь, что код скинул в таком виде, не нашел, как скинуть по другому....
C++ Определить номер подматрицы, среднее арифметическое элементов которой имеет наибольшее значение. Помогите пожалуйста решить задачу, очень нужно В квадратной матрице A(m,n) рассмотреть квадратные подматрицы размерностью 1, 2, ... , n, причем для всех подматриц левым верхним элементом является элемент А00 исходной матрицы. Определить номер подматрицы, среднее арифметическое элементов которой имеет наибольшее значение. Буду очень благодарна подробнее

Показать сообщение отдельно
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
17.01.2013, 22:06     Написать функцию, вычисляющую произведение двух матриц
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;
 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru