//--------------------------------------------------------------------------- #include #pragma hdrstop #include "Bukauskas_Ind_2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { AtmintisAtiduota(); //Vykdo metoda atmiciai atiduoti Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormActivate(TObject *Sender) { Memo1->Clear(); // Isvalomas Memo laukas FILE *FR; FR = fopen(CRez, "w"); // Sukuriamas tuscias tekstinis rezultatu failas fclose(FR); n = m = 0; Skaityti(); Memo1->Lines->Add("Duomenys ivesti is failo: " + AnsiString(CDuom)); MatricaIfaila("Matrica A(n x m)"); RodytiA(); Memo1->Lines->Add("Pradine matrica isiminta faile: " + AnsiString(CRez)); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Bmasy(); Bmasy1(); Label2->Visible = true; ListBox1->Visible = true; RodytiB(); Memo1->Lines->Add("B(n) masyvas sukurtas"); Button1->Enabled = false; // Mygtukas neveikia Button2->Enabled = true; // Mygtukas veikia } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { SaugotiB("Masyvas B(n)", "a"); Memo1->Lines->Add("B(n) masyvas isimintas: " + AnsiString(CRez)); Button2->Enabled = false; } //--------------------------------------------------------------------------- bool TForm1::AtmintisSkirta() { try { A = new float *[n]; for (int i = 0; i Lines->Add("Atmintis matricai skirta."); for (i = 0; i < n; i++) for (j = 0; j < m; j++) fscanf(FR, "%f", &A[i][j]); fclose(FR); } else { ShowMessage("Nepakanka atminties!"); Close(); } } else { ShowMessage("Failas " + String(CDuom) + " nerastas"); Close(); } } void TForm1::RodytiA() //Parodo A(n x m) matrica StringGrid1, sunumeruoja //eilutes ir stulpelius { int i, j; StringGrid1->ColCount = m+1; // Stulpeliu kiekis StringGrid1->RowCount = n+1; // Eiluciu kiekis for (j = 0; j < m; j++) // Stulpeliu numeracija StringGrid1->Cells[j+1][0] = "Stulp. " + IntToStr(j); for (i = 0; i < n; i++) // Eiluciu numeracija StringGrid1->Cells[0][i+1] = "Eil. " + IntToStr(i); for (i = 0; i < n; i++) for (j = 0; j < m; j++) StringGrid1->Cells[j+1][i+1] = FloatToStrF(A[i][j], ffFixed, 6, 2); } void TForm1::MatricaIfaila(char *pav) { int i, j; FILE *FR; FR = fopen(CRez, "a"); fprintf(FR, " %s\n", pav); fprintf(FR, " "); for (j = 0; j < m; j++) fprintf(FR, "%8d",j); fprintf(FR, "\n"); fprintf(FR, " -"); for (j = 0; j < m; j++) fprintf(FR, "-------"); fprintf(FR, "--\n"); for (i = 0; i < n; i++) { fprintf(FR, "%4d |", i); for (j = 0; j < m; j++) fprintf(FR, "%7.2f", A[i][j]); fprintf(FR, " |\n"); } fprintf(FR, " -"); for (j = 0; j < m; j++) {fprintf(FR, "-------");} fprintf(FR, "\n"); fclose(FR); } void TForm1::RodytiB() { ListBox1->Items->Clear(); for (int i=0; iItems->Add(FloatToStr(*(B+i))); } void TForm1::SaugotiB(char * masv, char * a) { FILE *FR; FR=fopen(CRez, a); fprintf(FR, " "); fprintf(FR, "%s\n", masv); for (int i=0; i=0) *(B+i)=0; }