ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.09.2024
Просмотров: 13
Скачиваний: 0
Висновок
Під час виконання курсового проекту я створив програму, яка порівнює два масива и виводить елементи відповідно до завдання. При розробці цього проекту я використав знання здобуті на лекціях та практичних заняттях з дисципліни «Об’єктно - орієнтована технологія програмування» та при роботі з середовищем програмування і компілятором «Borland С++ 6».
Література
1 «Программирование в C++ Builder 6» А. Я. Архангельский. «Бином-Пресс» . Год: 2003. 308с
2 «C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты».А. Я. Архангельский. Издательство: «Бином-Пресс». 2002. 108с.
3 http://uk.wikipedia.org/
4 http://www.google.ru
5 www.yandex.ru/
Додаток а
Лістинг модуля massiv
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "massiv.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
int n = 5,i,j; double *ax,*ay,*bx,*by;
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
int ind = RadioGroup1->ItemIndex, counter=0;
for(i=0;i<n;i++) {
ax[i]=StrToFloat(StringGrid1->Cells[0][i]);
ay[i]=StrToFloat(StringGrid1->Cells[1][i]);
bx[i]=StrToFloat(StringGrid2->Cells[0][i]);
by[i]=StrToFloat(StringGrid2->Cells[1][i]);
StringGrid3->Cells[0][i]="";StringGrid3->Cells[1][i]="";}
switch(ind) {
case 0: for(j=0;j<n;j++)
for (i=0;i<n;i++){
if (ax[i]==by[j]) counter++;
}
if (counter==0)ShowMessage("Вірних пар не знайдено");
else {
StringGrid3->RowCount=counter;
counter=0;
for(j=0;j<n;j++)
for (i=0;i<n;i++){
if (ax[i]==by[j]) {StringGrid3->Cells[0][counter]=FloatToStr(ax[i]);
StringGrid3->Cells[1][counter]=FloatToStr(ay[i]);
counter++;
} } }
counter=0;
break;
case 1:for(j=0;j<n;j++)
for (i=0;i<n;i++){
if (ax[i]==by[j] && ay[i]==bx[j]) counter++;
}
if (counter==0)ShowMessage("Вірних пар не знайдено");
else {
StringGrid3->RowCount=counter;
counter=0;
for(j=0;j<n;j++)
for (i=0;i<n;i++){
if (ax[i]==by[j] && ay[i]==bx[j]) {StringGrid3->Cells[0][counter]=FloatToStr(ax[i]);
StringGrid3->Cells[1][counter]=FloatToStr(ay[i]);
counter++;
} } }
counter=0; break;
case 2:
for (i=0;i<n;i++){
if (ax[i]<ay[i]) counter++;
} if (counter==0)ShowMessage("Вірних пар не знайдено");
else {
StringGrid3->RowCount=counter;
counter=0;
for (i=0;i<n;i++){
if (ax[i]<ay[i]) {StringGrid3->Cells[0][counter]=FloatToStr(ax[i]);
StringGrid3->Cells[1][counter]=FloatToStr(ay[i]);
counter++;
} } }
counter=0; break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text=IntToStr(n);
StringGrid1->RowCount=n;
StringGrid2->RowCount=n;
ax = new double[n]; ay = new double[n];bx = new double[n];by = new double[n];
randomize;
for (i=0;i<n;i++) {
StringGrid1->Cells[0][i]=FloatToStr(random(8)-3+i*(1./4));
StringGrid1->Cells[1][i]=FloatToStr(random(8)-3+i*(1./4));
StringGrid2->Cells[0][i]=FloatToStr(random(8)-3+i*(1./4));
StringGrid2->Cells[1][i]=FloatToStr(random(8)-3+i*(1./4));
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
n=StrToInt(Edit1->Text);
if (Edit1->Text.Length()==0) n=1;
FormCreate(this);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if (IsCharAlpha(Key) || Key=='-' || Key==',' || Key=='.') Key=0;
if (Edit1->Text.Length()==1 && Key==VK_BACK) Edit1->Text="1";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
delete[]ax; delete[]ay;delete[]bx;delete[]by;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
ShowMessage("Всі поля були очищені або приведені в стан мінімального значення");
for(i=0;i<n;i++) {StringGrid3->Cells[0][i]="";StringGrid3->Cells[1][i]="";}
Edit1->Text="1";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
long SC_DRAGMOVE = 0xF012;
if(Button == mbLeft)
{
ReleaseCapture();
SendMessage(Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
}
}
//---------------------------------------------------------------------------