//--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Button3->Visible = false; ofstream fd(CRez); fd.close(); n = 0; m = 0; x = 0; y = 0; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { MatricosA_ivedimas(); MatricosB_ivedimas(); Matricu_daugyba(); Vaizduojam_duomenis(); Memo1->Lines->LoadFromFile(CRez); Button3->Visible = true; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormActivate(TObject *Sender) { Memo1->Clear(); } //--------------------------------------------------------------------------- void TForm1::MatricosA_ivedimas() { int i, j; if (OpenDialog1->Execute()) duom1 = OpenDialog1->FileName.c_str(); ifstream fd; if (fd) { fd.open(duom1); fd >> n >> m; for(i = 0; i < n; i++) for(j = 0; j < m; j++) fd >> A[i][j]; fd.close(); Label1->Caption = "Matricos sekmingai nuskaitytos."; } else Label1->Caption = "Klaida, failas neikeltas"; fd.close(); } //--------------------------------------- void TForm1::MatricosB_ivedimas() { if (OpenDialog2->Execute()) duom2 = OpenDialog2->FileName.c_str(); ifstream fd; int u, h; if(fd){ fd.open(duom2); fd >> x >> y; for(u = 0; u < x; u++) for(h = 0; h < y; h++) fd >> B[u][h]; fd.close(); Label1->Caption = + " Matricos sekmingai nuskaitytos"; } else Label1->Caption = "Klaida, failas neikeltas"; fd.close(); } //---------------------------------------- void TForm1::Vaizduojam_duomenis() { /*Rodoma pirmoji matrica*/ ofstream fr; fr.open(CRez); fr << " ~~^^Matrica A^^~~" << endl; fr << " "; for(int i = 0; i < m; i++) fr << setw(3) << i << " "; fr << endl; fr << "----"; for(int i = 0; i < m; i++) fr << "------"; fr << endl; for(int i = 0; i < n; i++){ fr << i << " | "; for(int j = 0; j < m; j++) fr << setw(3) << A[i][j] << " "; fr << endl; } //*Rodoma antroji matrica *// fr << " " << endl; fr << " ~~^^Matrica B^^~~" << endl; fr << " "; for(int i = 0; i < y; i++) fr << setw(3) << i << " "; fr << endl; fr << "----"; for(int i = 0; i < y; i++) fr << "------"; fr << endl; for(int i = 0; i < x; i++){ fr << i << " | "; for(int j = 0; j < y; j++) fr << setw(3) << B[i][j] << " "; fr << endl; } /*Matricos sudaugintos */ fr << " " << endl; fr << " ~~^^Matricu sandauga^^~~" << endl; fr << " "; for(int i = 0; i < y; i++) fr << setw(3) << i << " "; fr << endl; fr << "----"; for(int i = 0; i < y; i++) fr << "------"; fr << endl; for(int i = 0; i < n; i++){ fr << i << " | "; for(int j = 0; j < y; j++) fr << setw(3) << C[i][j] << " "; fr << endl; } fr.close(); } //------------------------------------------ void __fastcall TForm1::Button2Click(TObject *Sender) { if(SaveDialog1->Execute()) SaveDialog1->FileName=rez; } //--------------------------------------------------------------------------- void TForm1::Matricu_daugyba() { for(int i = 0; i < n; i++) for(int j = 0; j < y; j++) C[i][j] = A[i][j] * B[j][i] + A[i+1][j+1] * B[j+1][i+1]; } //---------------------------------- double TForm1::Daugyba_is_sk() { double sk; if(Edit1->Text.Length() == 0) ShowMessage("iveskite skaiciu"); else { sk = StrToInt(Edit1->Text); for(int i = 0; i < n; i++) for(int j =0; j < y; j++) C[i][j] = C[i][j] * sk; Rez_sk(); } return sk; } void __fastcall TForm1::Button3Click(TObject *Sender) { Daugyba_is_sk(); } //--------------------------------------------------------------------------- void TForm1::Rez_sk() { ofstream fr; fr.open(CRez); fr << " ~~^^Matrica A^^~~" << endl; fr << " "; for(int i = 0; i < y; i++) fr << setw(3) << i << " "; fr << endl; fr << "----"; for(int i = 0; i < y; i++) fr << "------"; fr << endl; for(int i = 0; i < n; i++){ fr << i << " | "; for(int j = 0; j < y; j++) fr << setw(3) << C[i][j] << " "; fr << endl; } fr.close(); Memo1->Lines->LoadFromFile(CRez); }