rendered paste body//---------------------------------------------------------------------------
#include <vcl.h>
#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 <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
#include <ExtCtrls.hpp>
#include <fstream>
#include <iomanip>
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