25.12.2011, 16:51 | #1 (permalink) |
Member
Регистрация: 11.07.2011
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Непонятная ошибка
void __fastcall TForm2::N9Click(TObject *Sender) { StringGrid1->ColCount=CSpinEdit1->Value; StringGrid1->RowCount=StringGrid1->ColCount; //âûäåëåíèå ïàìÿòè ïîä ìàññèâû x=new int [CSpinEdit1->Value]; y=new int [CSpinEdit1->Value]; int i,j; //çàïîëíåíèå ìàññèâà À for( i=0;i<CSpinEdit1->Value;i++) for( j=0;j<CSpinEdit1->Value;j++) { A[i][j]=StrToInt(StringGrid1->Cells[j][i]); } for( i=0;i<CSpinEdit1->Value;i++) for( j=0;j<CSpinEdit1->Value;j++) StringGrid1->Cells[j][i]=A[i][j] ; cx=PaintBox1->ClientWidth/2; cy=PaintBox1->ClientHeight/2; ugol=2*M_PI/CSpinEdit1->Value; for(int i=0;i<CSpinEdit1->Value;i++) { x[i]=150*cos(i*ugol); y[i]=150*sin(i*ugol); } } //--------------------------------------------------------------------------- void __fastcall TForm2::FormPaint(TObject *Sender) { for(int i=0;i<CSpinEdit1->Value;i++) PaintBox1->Canvas->Ellipse(cx+x[i]-5,cy-y[i]+5,cx+x[i]+5,cy-y[i]-5); for(int i=0;i<CSpinEdit1->Value;i++) for(int j=0;j<CSpinEdit1->Value;j++) if( A[i][j]==1) {PaintBox1->Canvas->MoveTo(cx+x[i],cy-y[i]); PaintBox1->Canvas->LineTo(cx+x[j],cy-y[j]);} //ïðîðèñîâêà ñòðåëîê for(int i=0;i<CSpinEdit1->Value;i++) for(int j=0;j<CSpinEdit1->Value;j++) if( A[i][j]==1) { int x2=cx+x[j]; int y2=cy-y[j]; int x1=cx+x[i]; int y1=cy-y[i]; float x0=L*(x1-x2)/sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); float y0=L*(y1-y2)/sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); x1=x0*cos(M_PI/6)-y0*sin(M_PI/6); y1=y0*cos(M_PI/6)+x0*sin(M_PI/6); x2=x0*cos(M_PI/6)+y0*sin(M_PI/6); y2=y0*cos(M_PI/6)-x0*sin(M_PI/6); PaintBox1->Canvas->MoveTo(cx+x[j],cy-y[j]); PaintBox1->Canvas->LineTo(cx+x[j]+x1,cy-y[j]+y1); PaintBox1->Canvas->MoveTo(cx+x[j],cy-y[j]); PaintBox1->Canvas->LineTo(cx+x[j]+x2,cy-y[j]+y2); } } //--------------------------------------------------------------------------- void __fastcall TForm2::CSpinEdit1Change(TObject *Sender) { delete []A; delete []x; delete []y; //âûäåëåíèå ïàìÿòè ïîä ìàññèâû x=new int [CSpinEdit1->Value]; y=new int [CSpinEdit1->Value]; PaintBox1->Canvas->Rectangle(-1,-1,ClientWidth,ClientHeight); StringGrid1->ColCount=CSpinEdit1->Value; StringGrid1->RowCount=StringGrid1->ColCount; int j,i; for( i=0;i<CSpinEdit1->Value;i++) for( j=0;j<CSpinEdit1->Value;j++) { A[i][j]=StrToInt(StringGrid1->Cells[j][i]); } for( i=0;i<CSpinEdit1->Value;i++) for( j=0;j<CSpinEdit1->Value;j++) StringGrid1->Cells[j][i]=A[i][j]; ugol=2*M_PI/CSpinEdit1->Value; for(int i=0;i<CSpinEdit1->Value;i++) { x[i]=150*cos(i*ugol); y[i]=150*sin(i*ugol); } for(int i=0;i<CSpinEdit1->Value;i++) PaintBox1->Canvas->Ellipse(cx+x[i]-5,cy-y[i]+5,cx+x[i]+5,cy-y[i]-5); for(int i=0;i<CSpinEdit1->Value;i++) for(int j=0;j<CSpinEdit1->Value;j++) if( A[i][j]==1) {PaintBox1->Canvas->MoveTo(cx+x[i],cy-y[i]); PaintBox1->Canvas->LineTo(cx+x[j],cy-y[j]);} //ïðîðèñîâêà ñòðåëîê for(int i=0;i<CSpinEdit1->Value;i++) for(int j=0;j<CSpinEdit1->Value;j++) if( A[i][j]==1) { int x2=cx+x[j]; int y2=cy-y[j]; int x1=cx+x[i]; int y1=cy-y[i]; float x0=L*(x1-x2)/sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); float y0=L*(y1-y2)/sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); x1=x0*cos(M_PI/6)-y0*sin(M_PI/6); y1=y0*cos(M_PI/6)+x0*sin(M_PI/6); x2=x0*cos(M_PI/6)+y0*sin(M_PI/6); y2=y0*cos(M_PI/6)-x0*sin(M_PI/6); PaintBox1->Canvas->MoveTo(cx+x[j],cy-y[j]); PaintBox1->Canvas->LineTo(cx+x[j]+x1,cy-y[j]+y1); PaintBox1->Canvas->MoveTo(cx+x[j],cy-y[j]); PaintBox1->Canvas->LineTo(cx+x[j]+x2,cy-y[j]+y2); } } |
25.12.2011, 16:51 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Давайте обратим внимание на схожие темы Непонятная проблема Непонятная ошибка Непонятная программа Непонятная проблема Непонятная фигня |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|