[ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 12.06.12
Príspevky: 6
Témy: 1 | 1
NapísalOffline : 24.04.2009 15:02 | program na inverznu maticu v C++

Poprosil by som o pomoc.Mam k vygenerovanej matici spravit inverznu maticu. ja som sa dostal k vygenerovaniu matice,mohol by mi niekto poradit ako k nej spravim tu inverznu?


Kód:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <fstream.h>
#include <stdlib.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
const  poc=4;
int M[poc][poc];
int i,j;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x= StrToInt(CSpinEdit1->Text);
 Memo1->Lines->Clear();
 for (int i=0; i<x; i++)
      for (int j=0; j<x; j++) M[i][j]=random(100);
 for (int i=0; i<x; i++)
 { AnsiString Riadok= " ";
   for (int j=0; j<x; j++)
   { Riadok= Riadok + AnsiString (M[i][j]) + '\t';
   }
 Memo1->Lines->Add(Riadok);
 }
}


Offline

Užívateľ
Užívateľ
program na inverznu maticu v C++

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 24.04.2009 16:20 | program na inverznu maticu v C++

Nech A je regulárna matica. Potom inverznú maticu A−1 vypocítame:
1. pomocou adjungovanej matice
2. pomocou elementárnych riadkových operácií na blokovej matici (A|En),
ktorými ju postupne upravíme na tvar (En|B), pricom B je inverzná matica
k matici A. En je jednotkova matica.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 12.06.12
Príspevky: 6
Témy: 1 | 1
Napísal autor témyOffline : 25.04.2009 17:37 | program na inverznu maticu v C++

ale poradi mi niekto ako to mam hodit do C++??


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.04.09
Prihlásený: 12.06.12
Príspevky: 6
Témy: 1 | 1
Napísal autor témyOffline : 15.05.2009 21:59 | program na inverznu maticu v C++

tak sa mi to nakoniec podarilo..
ak sa to niekomu hodi tak sem dam zdrojovy,je na vypocet inverznej matice ale IBA pre matice rozmeru 3x3 pomocou determinantu.
toto uz je konkretne vypocet:

Kód:
float determinant;
determinant=Matica[0][0]*Matica[1][1]*Matica[2][2]+Matica[1][0]*Matica[2][1]*Matica[0][2]+Matica[2][0]*Matica[0][1]*Matica[1][2]-Matica[2][0]*Matica[1][1]*Matica[0][2]-Matica[1][0]*Matica[0][1]*Matica[2][2]-Matica[0][0]*Matica[2][1]*Matica[1][2];
float a,b,c,d,e,f,g,h,i;
a=pow(-1,2)*(Matica[1][1]*Matica[2][2]-Matica[2][1]*Matica[1][2]);
b=pow(-1,3)*(Matica[1][0]*Matica[2][2]-Matica[2][0]*Matica[1][2]);
c=pow(-1,4)*(Matica[1][0]*Matica[2][1]-Matica[2][0]*Matica[1][1]);
d=pow(-1,3)*(Matica[0][1]*Matica[2][2]-Matica[2][1]*Matica[0][2]);
e=pow(-1,4)*(Matica[0][0]*Matica[2][2]-Matica[2][0]*Matica[0][2]);
f=pow(-1,5)*(Matica[0][0]*Matica[2][1]-Matica[2][0]*Matica[0][1]);
g=pow(-1,4)*(Matica[0][1]*Matica[1][2]-Matica[1][1]*Matica[0][2]);
h=pow(-1,5)*(Matica[0][0]*Matica[1][2]-Matica[1][0]*Matica[0][2]);
i=pow(-1,6)*(Matica[0][0]*Matica[1][1]-Matica[1][0]*Matica[0][1]);

Matica3[0][0]=(1/determinant)*a;
Matica3[1][0]=(1/determinant)*b;
Matica3[2][0]=(1/determinant)*c;
Matica3[0][1]=(1/determinant)*d;
Matica3[1][1]=(1/determinant)*e;
Matica3[2][1]=(1/determinant)*f;
Matica3[0][2]=(1/determinant)*g;
Matica3[1][2]=(1/determinant)*h;
Matica3[2][2]=(1/determinant)*i;
AnsiString riadok1,riadok2,riadok3;
riadok1=FloatToStr(Matica3[0][0])+'\t'+FloatToStr(Matica3[0][1])+'\t'+FloatToStr(Matica3[0][2]);

riadok2=FloatToStr(Matica3[1][0])+'\t'+FloatToStr(Matica3[1][1])+'\t'+FloatToStr(Matica3[1][2]);
riadok3=FloatToStr(Matica3[2][0])+'\t'+FloatToStr(Matica3[2][1])+'\t'+FloatToStr(Matica3[2][2]);
Memo3->Clear();
Memo3->Lines->Add(AnsiString(R)+" "+AnsiString(S));
Memo3->Lines->Add(riadok1);
Memo3->Lines->Add(riadok2);
Memo3->Lines->Add(riadok3);


 [ Príspevkov: 4 ] 


program na inverznu maticu v C++



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

C# alebo C++ appka/program na výpočty

v Backend

1

482

20.03.2015 22:36

walther

V tomto fóre nie sú ďalšie neprečítané témy.

program na projekt (C#, C++, pascal, java)

v Backend

2

941

12.03.2009 12:08

Svjatogor

V tomto fóre nie sú ďalšie neprečítané témy.

C/C++ program na pozadí

v Backend

4

699

27.09.2012 16:15

marian_r

V tomto fóre nie sú ďalšie neprečítané témy.

C program

v Backend

13

886

25.03.2017 11:21

mitko

V tomto fóre nie sú ďalšie neprečítané témy.

C++ program

v Backend

1

938

11.05.2008 8:23

sento

V tomto fóre nie sú ďalšie neprečítané témy.

program v C

v Backend

7

838

23.05.2008 16:21

poma

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Program v C

v Backend

1

378

05.11.2013 16:00

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Program v C

v Backend

2

653

16.05.2008 16:51

Cruel

V tomto fóre nie sú ďalšie neprečítané témy.

C++ zakladny program

v Backend

24

1752

31.08.2010 22:02

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

program v C++

v Backend

2

1382

06.12.2006 20:44

rebecca

V tomto fóre nie sú ďalšie neprečítané témy.

Program v C++

v Backend

23

1261

28.05.2009 14:02

reDo

V tomto fóre nie sú ďalšie neprečítané témy.

program v C++

v Backend

2

637

07.06.2012 21:57

Hipi21

V tomto fóre nie sú ďalšie neprečítané témy.

C++ (program airport)

v Backend

0

832

19.04.2007 17:28

pecko

V tomto fóre nie sú ďalšie neprečítané témy.

Visal C++ program

v Backend

19

1230

11.09.2010 20:57

jawakiller

V tomto fóre nie sú ďalšie neprečítané témy.

Program v c++ problém

v Backend

8

846

02.02.2012 19:01

ochar

V tomto fóre nie sú ďalšie neprečítané témy.

C program rovnostranny trojuholník

v Backend

3

1017

06.11.2011 21:37

coldak



© 2005 - 2026 PCforum, edited by JanoF