Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
3
Добавлен:
30.05.2020
Размер:
3.83 Кб
Скачать
#include <vcl.h>
#pragma hdrstop
#include "SortUnit.h"
#include "FracUnit.h"
#include "CalculateFrac.h"
#include "Math.h"
int count=11,i;
int FracMassiv[20][2];
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSortForm *SortForm;
//---------------------------------------------------------------------------
__fastcall TSortForm::TSortForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSortForm::FormActivate(TObject *Sender)
{
count=11;
Button2->Enabled=false; Button1->Enabled=false; Button4->Enabled=true;
StringGrid1->ColCount=count;
StringGrid2->ColCount=count;
for(i=1;i<count;i++)
{
  StringGrid1->Cells[i][0]="";
  StringGrid1->Cells[i][1]="";
  StringGrid2->Cells[i][0]="";
  StringGrid2->Cells[i][1]="";
}
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TSortForm::Button2Click(TObject *Sender)
{
count=11;
Button2->Enabled=false; Button1->Enabled=false; Button4->Enabled=true;
StringGrid1->ColCount=count;
StringGrid2->ColCount=count;
for(i=1;i<count;i++)
{
  StringGrid1->Cells[i][0]="";
  StringGrid1->Cells[i][1]="";
  StringGrid2->Cells[i][0]="";
  StringGrid2->Cells[i][1]="";
}
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TSortForm::Button3Click(TObject *Sender)
{
  SortForm->Close();
  MainForm->Show();
}
//---------------------------------------------------------------------------
void __fastcall TSortForm::Button4Click(TObject *Sender)
{
  Button2->Enabled=true; Button1->Enabled=true; Button4->Enabled=false;
  if(Edit1->Text.Length()==0)
  {
    ShowMessage("Поле має бути заповненим!");
    return;
  }
  count=StrToInt(Edit1->Text);
  if((count<2)||(count>20))
  {
    ShowMessage("Допустима розмірність: від '2' до '20'!");
    return;
  }
  count++;
  StringGrid1->ColCount=count;
  StringGrid2->ColCount=count;
}
//---------------------------------------------------------------------------
void __fastcall TSortForm::Button1Click(TObject *Sender)
{
  int a,b,c,d,e,f;
  for(int i=1;i<count;i++)
    if((StringGrid1->Cells[i][0].Length()==0)||(StringGrid1->Cells[i][1].Length()==0))
    {
      ShowMessage("Заповнені не всі поля!");
      return;
    }
  CalculateFrac *Calculate=new CalculateFrac;
  for(int i=1;i<count;i++)
  {
   FracMassiv[i][0]=StrToInt(StringGrid1->Cells[i][0]);
   FracMassiv[i][1]=StrToInt(StringGrid1->Cells[i][1]);
  }
  for(int i=1;i<count;i++)
  {
    for(int j=1;j<count-1;j++)
    {
      a=FracMassiv[j][0];
      b=FracMassiv[j][1];
      c=FracMassiv[j+1][0];
      d=FracMassiv[j+1][1];
      int check=Calculate->CheckFrac(a,b,c,d);
      if (check==2)
      {
        e=a; f=b;
        a=c; b=d;
        c=e; d=f;
        FracMassiv[j][0]=a; FracMassiv[j][1]=b;
        FracMassiv[j+1][0]=c; FracMassiv[j+1][1]=d;
      }
    }
  for(int i=1;i<count;i++)
  {
   StringGrid2->Cells[i][0]=IntToStr(FracMassiv[i][0]);
   StringGrid2->Cells[i][1]=IntToStr(FracMassiv[i][1]);
  }
  }

}
//---------------------------------------------------------------------------
void __fastcall TSortForm::Edit1KeyPress(TObject *Sender, char &Key)
{
  if(((Key>='0')&&(Key<='9'))||(Key==VK_BACK))
    return;
  Key=0;
}
//---------------------------------------------------------------------------

void __fastcall TSortForm::StringGrid1KeyPress(TObject *Sender, char &Key)
{
  if(((Key>='0')&&(Key<='9'))||(Key==VK_BACK)||(Key=='-'))
    return;
  Key=0;
}
//---------------------------------------------------------------------------

Соседние файлы в папке Дроби
  • #
    30.05.20201.54 Кб2RivnUnit.h
  • #
    30.05.202049.65 Кб2RivnUnit.obj
  • #
    30.05.20203.05 Кб2RivnUnit.~cpp
  • #
    30.05.20203.37 Кб2RivnUnit.~dfm
  • #
    30.05.20201.54 Кб2RivnUnit.~h
  • #
    30.05.20203.83 Кб3SortUnit.cpp
  • #
    30.05.202051 б2SortUnit.ddp
  • #
    30.05.20202.96 Кб2SortUnit.dfm
  • #
    30.05.20201.46 Кб2SortUnit.h
  • #
    30.05.2020104.52 Кб2SortUnit.obj
  • #
    30.05.20203.36 Кб2SortUnit.~cpp