//--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //------ Klases TForm1 konstruktorius -------------------------------------- // Sukuriamas tuscias tekstinis rezultatu failas __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ofstream fr(CRez); fr.close(); n = 0; m = 0; Button2->Enabled = false; } //----- Parodo matrica A(n,n) StringGrid1 lenteleje ------------------------- void TForm1::MatricosAtvaizdavimasStringGride() { int i, j; StringGrid1->ColCount = m+1; StringGrid1->RowCount = n+1; for (j = 0; j < m; j++) StringGrid1->Cells[j+1][0] = "Stulp. " + IntToStr(j); for (i = 0; i < n; i++) 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); } //----- Mygtuko Skaityti veiksmai ------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { MatricosIvedimas(); MatricosAtvaizdavimasStringGride(); MatricosSpausdinimasFaile("Matrica A"); Button2->Enabled = true; Button1->Enabled = false; } //----- Skaito duomenis is failo -------------------------------------------- void TForm1::MatricosIvedimas() { ifstream fd(CDuom); fd >> n >> m; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) fd >> A[i][j]; fd.close(); } //----- Randa eilutes kurios pagrindineje istrizaineja turi 0 --------------- int TForm1::RastiEilSuNul() { nri = 0; for (int i = 0; i < n; i++) if (A[i][i] == A[nri][nri]){ nri = i; nri++; return nri; } } //----- Salina eilutes ------------------------------------------------------ void TForm1::EilutciuSalinimas() { for (int i = nri; i < n-1; i++) for (int j = 0; j < m; j++){ A[i][j] = A[i+1][j]; } n = n-1; } //----- Mygtuko Vykdyti veiksmai -------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { RastiEilSuNul(); EilutciuSalinimas(); MatricosSpausdinimasFaile("Matrica A po pakeitimu"); Button2->Enabled = true; } //----- Isveda matrica A(n,n) i faila --------------------------------------- // pav - uzrasas virs lenteles void TForm1::MatricosSpausdinimasFaile(char * pav) { int i, j; ofstream fr(CRez, ios::app); fr << pav << endl; fr << " "; for (j = 0; j < m; j++) fr << setw(7) << j; fr << endl; fr << " -"; for (j = 0; j < m; j++) fr << "-------"; fr << "--" << endl; fr.setf(ios::fixed); for (i = 0; i < n; i++){ fr << setw(4) << i << " |"; for (j = 0; j < m; j++) fr << setw(7) << setprecision(2) << A[i][j]; fr << " |" << endl; } fr << " -"; for (j = 0; j < m; j++) fr << "-------"; fr << "--" << endl << endl; fr.close(); } //----- Mygtuko Baigti Veiksmai --------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include #include #include #include #include #include #include #include using namespace std; const char * CDuom = "MatricaD.txt"; const char * CRez = "MatricaR.txt"; const int CMaxEilSk = 10; const int CMaxStSk = 10; //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TStringGrid *StringGrid1; // Duomenims vaizduoti TButton *Button1; // Mygtukas "Skaityti" TButton *Button2; // Mygtukas "Vykdyti" TButton *Button3; // Mygtukas "Baigti" void __fastcall Button1Click(TObject *Sender); void __fastcall Button2Click(TObject *Sender); void __fastcall Button3Click(TObject *Sender); private: // User declarations double A[CMaxEilSk][CMaxStSk]; // Matrica int n, m, // Eiluciu ir Stulpeliu skaicius nri; // Eiluciu indeksas kurios pagr. istr. 0 void MatricosAtvaizdavimasStringGride(); void MatricosIvedimas(); int RastiEilSuNul(); void EilutciuSalinimas(); void MatricosSpausdinimasFaile(char * pav); public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif