ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.09.2024

Просмотров: 17

Скачиваний: 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

Додаток а

Лістинг модуля matrix

#pragma once

class CMatrixStr

{

private:

int Rows;

int Cols;

int ** Data;

public:

CMatrixStr(int Row=1,int Col=1);

~CMatrixStr(void);

void Display(TMemo *Memo1);

void podDisplay(TMemo *Memo3, int i1=1, int i2=1, int j1=2, int j2=2);

void Fill();

};

Додаток б Лістинг модуля Unit1

//--------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "matrix.h"

#include "Unit1.h"

#include "string.h"

//--------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//--------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

Edit1->Clear();

Edit2->Clear();

Memo1->Clear();

Memo2->Clear();

Memo3->Clear();

Edit3->Clear();

Edit4->Clear();

Edit5->Clear();

Edit6->Clear();

Memo2->Lines->Add("Створити объект матриці.

Вивести всю матрицю та підматрицю.");

}

//--------------------------------------------------------------------

CMatrixStr::CMatrixStr(int Row,int Col)

{

Rows=Row;

Cols=Col;

Data= new int * [Rows];

for (int j=0;j<Rows;j++){

Data[j] = new int[Cols];


for (int i=0;i<Cols;i++)

{

Data[j][i]=0.0;

}

}

return;

};

CMatrixStr::~CMatrixStr()

{

for (int j=0;j<Rows;j++)

{

delete Data[j];

}

};

void CMatrixStr::Fill()

{

for (int j=0;j<Rows;j++)

{

for (int i=0;i<Cols;i++)

{

Data[j][i]=random(10)-5;

}

}

return;

}

void CMatrixStr::Display(TMemo *Memo1)

{ String st;

Memo1->Lines->Add("Matrix:\n ");

for (int i=0;i<Rows;i++)

{

st="";

for (int j=0;j<Cols;j++)

{

st+=Data[i][j]; st+="\t ";

}

Memo1->Lines->Add(AnsiString(st)+"\n");

}

return;

}

void CMatrixStr::podDisplay(TMemo *Memo3, int i1, int i2, int j1, int j2)

{

String st;

Memo3->Lines->Add("Matrix:\n ");

for (int i=i1-1;i<i2;i++)

{

st="";

for (int j=j1-1;j<j2;j++)

{

st+=Data[i][j]; st+="\t ";

}

Memo3->Lines->Add(AnsiString(st)+"\n");

}

return;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Memo2->Clear();

Memo3->Clear();

Memo2->Lines->Add("Створити объект матриці. Вивести всю матрицю та підматрицю.");

Memo1->Clear();

int Row, Col;

int i1,i2,j1,j2;

try

{

Row=StrToInt(Edit1->Text);

Col=StrToInt(Edit2->Text);

i1=StrToInt(Edit3->Text);

j1=StrToInt(Edit4->Text);

i2=StrToInt(Edit5->Text);

j2=StrToInt(Edit6->Text);

}

catch (EConvertError &e)

{

ShowMessage("Помилка. Всі значення повинні бути заповнені та цілочисельні.");

return;

}

if((i1>Row)||(i2>Row)) {ShowMessage("Рядок першого або другого елементу більший за кількість рядків в матриці"); return;}

if((j1>Row)||(j2>Row)) {ShowMessage("Стовпчик першого або другого елементу більший за кількість стовпців в матриці"); return;}

if((i1>i2)&&(j1>j2)) {ShowMessage("Індекси першого елементу не може бути більший за другого");return;}

else

{

CMatrixStr matrix(Row,Col);

matrix.Fill();

matrix.Display(Memo1);

matrix.podDisplay(Memo3,i1,i2,j1,j2);

}

}

//--------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form1->Close();

}

//--------------------------------------------------------------------