Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
30.05.2020
Размер:
3.42 Кб
Скачать
//---------------------------------------------------------------------------

#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();        
}
//---------------------------------------------------------------------------

Соседние файлы в папке Курсач_Высоцкий
  • #
    30.05.20203.7 Кб1Project2.bpr
  • #
    30.05.20201.07 Кб1Project2.cpp
  • #
    30.05.2020422.93 Кб1Project2.obj
  • #
    30.05.2020876 б1Project2.res
  • #
    30.05.2020655.36 Кб1Project2.tds
  • #
    30.05.20203.42 Кб1Unit1.cpp
  • #
    30.05.202051 б1Unit1.ddp
  • #
    30.05.20205.73 Кб1Unit1.dfm
  • #
    30.05.20201.4 Кб1Unit1.h
  • #
    30.05.2020475.93 Кб1Unit1.obj
  • #
    30.05.20203.42 Кб1Unit1.~cpp