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

Вычисления произведения и суммы двух матриц - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Vif@
0 / 0 / 0
Регистрация: 20.05.2010
Сообщений: 16
10.11.2010, 10:07     Вычисления произведения и суммы двух матриц #1
Доброго времени суток! Помогите пожалуйста!
Задана квадратная матрица А. Вычислить А^n. функции: Вычисления произведения и суммы двух матриц.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2010, 10:07     Вычисления произведения и суммы двух матриц
Посмотрите здесь:

Подсчитать разницу суммы и произведения двух чисел вводимых с клавиатуры.Результат вывести на экран C++
C++ Программа для вычисления суммы и произведения элементов массива с использованием функции
ScalarProduct для вычисления скалярного произведения двух векторов C++
Разработать алгоритм и записать программу вычисления значения суммы и произведения C++
C++ Реализовать функцию вычисления произведения и частного двух вещественных чисел
Функция для вычисления следа матрицы и произведения матриц C++
Написать программу нахождения суммы диагональных элементов двух матриц C++
Составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.Irbissa
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 14
10.11.2010, 15:09     Вычисления произведения и суммы двух матриц #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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <iostream>
#include <cstdlib>
#include <iomanip>
 
using namespace std;
 int n, i, j, m, k, s;
    int menu;
    
    // n -строки s-столбцы
    
    cout << "vvedite n \n";
    cin >> n;
    cout << "vvedite s \n";
    cin >> s;
    int **mas = new int*[n];
    for(i=0;i<n;i++)
    mas[i] = new int[s];
    
    cout <<"vvedite elem mass\n";
    for(i=0;i<n;i++){
    for(j=0;j<s;j++){
        //  cin >> mas[i][j];// с клавиат. в память
        mas[i][j] = i*s+j;
    }
    
    }
    cout << "normal" << endl;
    for(i=0;i<n;i++){
    for(j=0;j<s;j++){
        cout<< setw(3) << mas[i][j]<<" ";
    }
    cout<<endl;
    }
 while (menu!=3)
    {
    cout<<"   1- matrix + matrix 2-Multiplication 3-exit \n";
    cin>> menu;
    
    
    
    
    if (menu==1){
        //m-строки k-столбцы
        cout<<"vvodim matrix 2\n";
        cout << "vvedite m \n";
        cin >> m;
        cout << "vvedite k \n";
        cin >> k;
        
        if(n==m && k==s){
        int **mas2 = new int*[m];
        for(i=0;i<m;i++)
            mas2[i] = new int[k];
        
        cout <<"vvedite elem mass\n";
        for(i=0;i<m;i++){
            for(j=0;j<k;j++){
            //   cin >> mas2[i][j];// с клавиат в память
            mas2[i][j] = i*k+j;
            }
            
        }
        
        cout<<endl;
        
        cout << "Matrix-2" << endl;
        for(i=0;i<m;i++){
            for(j=0;j<k;j++){
            cout << setw(3) <<mas2[i][j]<<"  ";
            }
            cout<<endl;
        }
        cout << "Summ of Matrix:" << endl;
        for(i=0;i<m;i++){
            for(j=0;j<k;j++){
            cout<<setw(4) << mas2[i][j]+mas[i][j]<<"  ";
            }
            cout<<endl;
        }
        
        }
    }
    cout<<endl;
    
    
    //cout<<"proizv";
    if (menu==2){
        //m-строки k-столбцы
        cout<<"vvodim matrix 2\n";
        cout << "vvedite m \n";
        cin >> m;
        cout << "vvedite k \n";
        cin >> k;
        if(s==m){
        int **mas2 = new int*[m];
        for(i=0;i<m;i++)
            mas2[i] = new int[k];
        
        cout <<"vvedite elem mass\n";
        for(i=0;i<m;i++){
            for(j=0;j<k;j++){
            //cin >> mas2[i][j];// с клавиат в память
            mas2[i][j] = i*k+j;
            }
            
        }
        cout<<endl;
        
        cout << "Matrix-2" << endl;
        for(i=0;i<m;i++){
            for(j=0;j<k;j++){
            cout<<setw(3) << mas2[i][j]<<"  ";
            }
            cout<<endl;
        }
        cout << "Multiplication:" << endl;
        for(i=0;i<n;i++){
            for(j=0;j<k;j++){
            int matrix=0;
            for(int e=0;e<s;e++){
                matrix+=mas[i][e]* mas2[e][j];
            }
            cout << setw(6) << matrix << " ";
            
            
            }
            cout<<endl;
        }
        }
    }
    cout<<endl;
    
    }
 
    return 0;
}
вот как-то так,только матрицы тут не квадратные,а произвольные.
вот эта "mas2[i][j] = i*k+j;" строка автоматически заполн. матрицу.
эта вручную " mas2[i][j];"
примеч. эта на QT.если что-то не будет получаться посмотри на библиотеки.. а вообще все работает!
Yandex
Объявления
10.11.2010, 15:09     Вычисления произведения и суммы двух матриц
Ответ Создать тему
Опции темы

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