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

Действия над матрицами - C++

Восстановить пароль Регистрация
 
Нубарик
 Аватар для Нубарик
4 / 4 / 1
Регистрация: 06.11.2010
Сообщений: 40
08.11.2010, 21:20     Действия над матрицами #1
Привет программистам !
помогите плз вот в таком задании:
*****
с клавиатуры задать матрицы А(n x n) и В(n x n). вычислит матрицу С=2А*В+В*А3 и вывести результат на экран.

примечания :
А3( это А в 3-м степени)
n-розмерность матрицы (можно задать как константу)

*****

путаюсь с порядком действий.
буду благодарен за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2010, 21:20     Действия над матрицами
Посмотрите здесь:

C++ Действия над матрицами
Операции над матрицами C++
C++ Двумерные массивы : действия с матрицами
C++ Действия над матрицами
C++ Отобразить правую половину матрицы на левую зеркально симметрично относительно вертикальной оси
Умножение матрицы на матрицу, и нахождение обратной матрицы C++
Выполнить 3 действия с матрицами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
08.11.2010, 21:45     Действия над матрицами #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
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
#include<stdio.h>
#include<string.h>
#include<fstream.h>
 
int main()
{clrscr();
 
const n=3;
int a[n][n];
int b[n][n];
int c[n][n];
int i,j,i1,j1,i2,j2;
cout<<"\nВведите массив а:\n";
for(i=0;i<n;i++){
    for(j=0;j<n;j++)
    cin>>a[i][j];}
 
cout<<"\nВведите массив b:\n";
for(i1=0;i1<n;i1++){
    for(j1=0;j1<n;j1++)
    cin>>b[i1][j1];}
 
for(i2=0;i2<n;i2++){
    for(j2=0;j2<n;j2++)
 c[i2][j2]=(2*a[i][j]*b[i1][j1])+(b[i1][j1]*pow(a[i][j],3));
   }
 
cout<<"\nНовый массив С\n";
 for(i2=0;i2<n;i2++){
    for(j2=0;j2<n;j2++)
    cout<<setw(3)<<c[i2][j2]; cout<<"\n";}
    getch();
}
чёт такое приблизительно
Нубарик
 Аватар для Нубарик
4 / 4 / 1
Регистрация: 06.11.2010
Сообщений: 40
09.11.2010, 02:51  [ТС]     Действия над матрицами #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
спасибо, сейчас попробую .

Добавлено через 3 часа 27 минут
Я наконец сам понял как это сделать , и если кому будет интересно,вот код :
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
#include <vcl.h>
#include <iostream.h>
#include <math.h>
#pragma hdrstop
using namespace std;
 
//---------------------------------------------------------------------------
 
#pragma argsused
const n=3;
int skaliar=2;
void vved (int A[n][n]);
void vyved (int A[n][n]);
void kvadrat (int A[n][n],int B[n][n]);
void kub (int A[n][n],int B[n][n],int C[n][n]);
void dod (int A[n][n],int B[n][n],int C[n][n]);
void mnog (int skaliar,int A[n][n],int B[n][n]);
void mnog2 (int A[n][n],int B[n][n],int C[n][n]);
void mnog3 (int A[n][n],int B[n][n],int C[n][n]);
 
int main(int argc, char* argv[])
{
cout<<"LABORATORNA ROBOTA 2\nChastyna 2\n=========================="<<endl;
int MA[n][n],MB[n][n],MAA[n][n],AAB[n][n],AAA[n][n],
BAAA[n][n],Rezultat[n][n],AA[n][n];
cout<<"\n\nVvedit elementy matryci A:"<<endl;
cout<<".........................."<<endl;
vved(MA);
cout<<".........................."<<endl<<endl;
cout<<"Vvedit elementy matryci B:"<<endl;
cout<<".........................."<<endl;
vved(MB);
cout<<".........................."<<endl<<endl;
mnog(skaliar,MA,MAA);
mnog2(MAA,MB,AAB);
kvadrat(MA,AA);
kub(AA,MA,AAA);
mnog3(MB,AAA,BAAA);
dod(AAB,BAAA,Rezultat);
cout<<"\nMatricia C:\n.........................."<<endl;
vyved(Rezultat);
cout<<"\n.........................."<<endl<<endl;
cin.get();
cin.get();
        return 0;
}
void vved (int A[n][n])
{
for (int i=0;i<n;i++)
        {
        for (int j=0;j<n;j++)
         cin>>A[i][j];
        }
}
void vyved (int A[n][n])
{
for (int i=0;i<n;i++)
        {
        cout<<"\n";
                for (int j=0;j<n;j++)
                        cout<<A[i][j]<<"\t";
 
        }
}
 
 
 
void mnog (int skaliar,int A[n][n],int B[n][n])
{
for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
                B[i][j]=skaliar*A[i][j];
}
void mnog2 (int A[n][n],int B[n][n],int C[n][n])
{
for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
        {
        C[i][j]=0;
          for ( int k=0; k<n; k++ )
              C[i][j]+=A[i][k]*B[k][j];
 
        }
}
void kvadrat (int A[n][n],int B[n][n])
{
for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
        {
                B[i][j]=0;
                        for ( int k=0; k<n; k++ )
                                 B[i][j]+=A[i][k]*A[k][j];
        }
}
void kub (int A[n][n],int B[n][n],int C[n][n])
{
for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
        {
                C[i][j]=0;
                        for ( int k=0; k<n; k++ )
                                 C[i][j]+=A[i][k]*B[k][j];
        }
}
void mnog3 (int A[n][n],int B[n][n],int C[n][n])
{
for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
        {
        C[i][j]=0;
          for ( int k=0; k<n; k++ )
              C[i][j]+=A[i][k]*B[k][j];
 
        }
}
void dod (int A[n][n],int B[n][n],int C[n][n])
{
for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
                C[i][j]=A[i][j]+B[i][j];
}
вдруг пригодится кому-то.
Миниатюры
Действия над матрицами  
Yandex
Объявления
09.11.2010, 02:51     Действия над матрицами
Ответ Создать тему
Опции темы

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