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