Расчетно-графическая работа по программированию — страница 6
Resform->sg3->ColCount=res1.Gety(); for (int i=0; i<res1.Getx(); i++) for (int j=0; j<res1.Gety(); j++) { Resform->sg3->Cells[j][i]=""; Resform->sg3->Cells[j][i]=IntToStr(res1.matr[i][j].cel)+ "*"+IntToStr(res1.matr[i][j].chisl)+"/"+ IntToStr(res1.matr[i][j].znamen); } Resform->Box1->Visible=true; Resform->ShowModal(); } if (Nunit->RBtn2->Checked) { res1=first.operator *(Nunit->Edit->Text.ToInt()); for (int i=0; i<res1.Getx(); i++) for (int j=0; j<res1.Gety(); j++) res1.matr[i][j].videlen(); Resform->sg3->RowCount=res1.Getx(); Resform->sg3->ColCount=res1.Gety(); for (int i=0; i<res1.Getx(); i++) for (int j=0; j<res1.Gety(); j++) { Resform->sg3->Cells[j][i]=""; Resform->sg3->Cells[j][i]=IntToStr(res1.matr[i][j].cel)+ "*"+IntToStr(res1.matr[i][j].chisl)+"/"+ IntToStr(res1.matr[i][j].znamen); } Resform->Box1->Visible=true; Resform->ShowModal(); } if (Resform->Box1->Checked) { if (Nunit->RBtn1->Checked) { res2=second.operator *(chislo); for (int i=0; i<res2.Getx(); i++) for (int j=0; j<res2.Gety(); j++) res2.matr[i][j].videlen(); Resform->sg3->RowCount=res2.Getx(); Resform->sg3->ColCount=res2.Gety(); for (int i=0; i<res2.Getx(); i++) for (int j=0; j<res2.Gety(); j++) { Resform->sg3->Cells[j][i]=""; Resform->sg3->Cells[j][i]=IntToStr(res2.matr[i][j].cel)+ "*"+IntToStr(res2.matr[i][j].chisl)+"/"+ IntToStr(res2.matr[i][j].znamen); } Resform->Box1->Visible=false; Resform->ShowModal(); } if (Nunit->RBtn2->Checked) { res2=second.operator *(Nunit->Edit->Text.ToInt()); for (int i=0; i<res2.Getx(); i++) for (int j=0; j<res2.Gety(); j++) res2.matr[i][j].videlen(); Resform->sg3->RowCount=res2.Getx(); Resform->sg3->ColCount=res2.Gety(); for (int i=0; i<res2.Getx(); i++) for (int j=0; j<res2.Gety(); j++) { Resform->sg3->Cells[j][i]=""; Resform->sg3->Cells[j][i]=IntToStr(res2.matr[i][j].cel)+ "*"+IntToStr(res2.matr[i][j].chisl)+"/"+ IntToStr(res2.matr[i][j].znamen); } Resform->Box1->Visible=false; Resform->ShowModal(); } } } //--------------------------------------------------------------------------- void __fastcall TMainForm::Btn6Click(TObject *Sender) { Analisation ob1,ob2; matrix first (n,m); matrix second (k,l); first.Read(sg1,ob1); second.Read(sg2,ob2); drob temp1,temp2; temp1=first.Determinant(); temp2=second.Determinant(); Panel1->Caption="Определитель первой: "+ IntToStr(temp1.cel)+"*"+IntToStr(temp1.chisl)+"/" +IntToStr(temp1.znamen); Panel2->Caption="Определитель второй: "+ IntToStr(temp2.cel)+"*"+IntToStr(temp2.chisl)+"/" +IntToStr(temp2.znamen); } Пример использования данной программы: Общий вид формы после запуска приложения (Рис. 1). Рис.1 После определения размеров матриц, можно заполнить их вручную либо случайными числами, как показано на рисунке 2 и 3. Причём работать можно с дробными числами (вводить дроби и результат получать также дробный, прописано выделение целой части). Рис.2 Рис.3 В данной программе предусмотрены такие действия над матрицами: A. сложение; B. вычитание; C. транспонирование; D. умножение на число; E. вычисление простейших определителей; Пример сложения двух матриц в данной программе продемонстрирован на рис.4 и 5. Рис.4 В случае, если вы попытаетесь сложить матрицы не одинаковых размеров, появится сообщение об ошибке; Аналогично с разностью двух матриц. Рис.5 Пример транспонирования матриц продемонстрирован на рис. 6 Рис.6 В данной программе есть возможность умножать матрицы на целое либо дробное число (см. рис 7 и 8) Рис.7 Рис. 8 Пример вычисления простейших
Похожие работы
- Рефераты
- Рефераты