rendered paste body//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <fstream>
#include "Unit1.h"
using namespace std;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ofstream fr(CRfv);
fr.close();
}
//---------Tirkrina ar duomenu failas egzistuoja, suformuoja masyva----------
bool TForm1::Ivedimas( const char * failoVardas, int A[], int &k)
{
int sk; //pagalbinis kintamasis ivedimui
ifstream fd( failoVardas);
k = 0; //skaiciuoja masyvo elementus
if(fd)
{
while( !fd.eof())
{
fd >> sk;
if( !fd.fail())//Utikrinama, kad failo gale esanti tarpo ar
//naujos eilute simbolio nebandytu paversti i skaiciu
{
A[k] = sk;
k++;
}
}
fd.close();
return true;
}
else
return false;
}
//----------Tikrina ar visi duomenys ivesti----------------------------------
bool TForm1::Duomenys()
{
if( Ivedimas( CDuom, A, n) && Ivedimas( DDuom, B, z))
return true;
else
return false;
}
//----------Rezultatus pavaizduoja Memo1 lange-------------------------------
void TForm1::Parodyti1()
{
Memo1->Lines->LoadFromFile( CRfv);
}
//----------Saugo nurodyta masyva i rezultatu faila--------------------------
void TForm1::Saugoti1( int A[], int n, char * masv)
{
ofstream fr( CRfv, ios::app); //paruoia faila papildymui
fr << masv << " masyvas" << endl;
for( int i=0; i<n; i++)
fr << A[i] << " ";
fr << endl;
fr.close();
}
//---Mygtukas "Ivesti" - iveda pradinius duomenis, parodo juos Memo1 lange---
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if( Duomenys())
{
Saugoti1( A, n, "Pradinis A");
Saugoti1( B, z, "Pradinis B");
Parodyti1();
Button2->Enabled = true; //Padaro antra mygtuka aktyvu
}
else
{
Application->MessageBox("Reikalingi failai nerasti", "Klaida", MB_OK);
Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
RastiMax1();
RastiMax2();
ofstream fr( CRfv, ios::app);
fr << endl;
fr << "Maksimalus masyvo A elementas " << max1 << " vieta " << max1v << endl;
fr << "Maksimalus masyvo B elementas " << max2 << " vieta " << max2v << endl;
fr.close();
Parodyti1();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
RastiMax1();
ofstream fr( CRfv, ios::app);
Saugoti1( A, n, "Po pakeitimo masyvas A");
Saugoti1( B, z, "Po pakeitimo masyvas B");
RastiSum();
fr.close();
Parodyti1();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void TForm1::RastiMax1()
{
max1 = A[0]; max1v = 0;
for(int i = 1; i <n; i++)
if(max1 < A[i]){
max1 = A[i];
max1v = i;
}
}
//----------------------------------------------------------------------------
void TForm1::RastiMax2()
{
max2 = B[0]; max2v = 0;
for(int i = 1; i <z; i++)
if(max2 < B[i])
{
max2 = B[i];
max2v = i;
}
}
//-----------------------------------------------------------------------------
void TForm1::RastiSum()
{
for(int i=1; i > max1v; i++)
if(i > max1v){
A[i]= A[i]+A[i-1];
}
}