Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a[50]; //max kol-vo elementov v massive
int x; //kol-vo elementov v massive
int k; //schetchik
int c; //schetchik2
int min; //minimum
int buf; //bufer
int j;

x=StrToInt(Edit1->Text);
randomize();
Memo1->Clear();

Label2->Caption="";
Label3->Caption="";
Image1->Canvas->Brush->Color=clWhite;
Image1->Canvas->Rectangle(0,0,600,300);
Image1->Canvas->Brush->Color=clBlack;
Image2->Canvas->Brush->Color=clWhite;
Image2->Canvas->Rectangle(0,0,600,300);
Image2->Canvas->Brush->Color=clBlack;
for (k=0;k<x;k++)
{
a[k]=random(100)-50;

Label2->Caption= Label2->Caption+IntToStr(a[k])+" ";
Image1->Canvas->MoveTo(10+(k+1)*20,55);
Image1->Canvas->LineTo(10+(k+1)*20,55-a[k]);
Image1->Canvas->Brush->Style=bsClear;
Image1->Canvas->Font->Color=clGreen;
 Image2->Canvas->Brush->Style=bsClear;
Image2->Canvas->Font->Color=clGreen;
Image1->Canvas->TextOutA(5+(k+1)*20,57,k+1);
}


  	for (c=0;c<x-1;c++)
   {
   min=c;
   for (j=c+1; j<x; j++)
   if (a[j]<a[min])  min=j;
     buf=a[c];
     a[c]=a[min];
     a[min]=buf;
}
for (k=0; k<x; k++)
Label3->Caption=Label3->Caption+a[k]+" ";
 Memo1->Lines->Add("Неотсортированный массив:");
 Memo1->Lines->Add(Label2->Caption);
 Memo1->Lines->Add("Отсортированный массив:");
 Memo1->Lines->Add(Label3->Caption);
Image1->Canvas->TextOutA(3,5,"Y");
Image1->Canvas->TextOutA(500,57,"X");

Image1->Canvas->MoveTo(0,55);
Image1->Canvas->LineTo(500,55);

Image1->Canvas->MoveTo(10,5);
Image1->Canvas->LineTo(10,105);

Image2->Canvas->TextOutA(3,5,"Y");
Image2->Canvas->TextOutA(500,57,"X");

Image2->Canvas->MoveTo(0,55);
Image2->Canvas->LineTo(500,55);

Image2->Canvas->MoveTo(10,5);
Image2->Canvas->LineTo(10,105);

for (k=0; k<x; k++)
{
Image2->Canvas->MoveTo(10+(k+1)*20,55);
Image2->Canvas->LineTo(10+(k+1)*20,55-a[k]);
Image2->Canvas->Brush->Style=bsClear;
Image2->Canvas->Font->Color=clGreen;
Image2->Canvas->TextOutA(5+(k+1)*20,57,k+1);
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{

if (SaveDialog1->Execute())
  {
  Memo1->Lines->SaveToFile(SaveDialog1->FileName);
  }
}
//---------------------------------------------------------------------------

Отправлено: 13:05, 25-06-2013 | #2