Новичок
Профиль
Группа: Участник
Сообщений: 10
Регистрация: 18.3.2006
Репутация: нет Всего: нет
|
Дана прога на С++ - в основном работа с графикой. Надо перевести её в C#, с использованием System.Drawing - т.е. прога должна работать под Windows... Помогите, если можете. Это задача комовиажора. Код | #include <iostream.h> #include <graphics.h> #include <stdlib.h> #include <conio.h> #include <dos.h> //***************************************************************************** int minimum(int k,...) { int *pi=&k+1; int min=*pi; for(;k;k--,pi++) min = min > *pi ? *pi : min; return min; } //***************************************************************************** int mx, my, r = 20; int x2,x3,x4,x1; int y2,y3,y4,y1; int c[5][5]; int i,j,a,b; char ch; //***************************************************************************** void pic(void) { clrscr(); int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, "bgi"); errorcode = graphresult(); if (errorcode != grOk) { cout<<"Graphics error:"<<grapherrormsg(errorcode)<<endl; cout<<"Press any key to halt:"<<endl; getch(); exit(1); }
mx = getmaxx() / 2; my = getmaxy() / 6; setcolor(4); setfillstyle(1,4); fillellipse(mx,my,r,r); x1=getmaxx()/6;y1=getmaxy()/2;fillellipse(x1,y1,r,r); x2=getmaxx()-getmaxx()/6;y2=getmaxy()/2;fillellipse(x2,y2,r,r); x3=getmaxx()/3;y3=getmaxy()-getmaxy()/6;fillellipse(x3,y3,r,r); x4=getmaxx()-getmaxx()/3;y4=getmaxy()-getmaxy()/6;fillellipse(x4,y4,r,r);
setcolor(15); outtextxy(mx,my-10,"1"); outtextxy(x1-10,y1,"2"); outtextxy(x2+10,y2,"3"); outtextxy(x3,y3+10,"4"); outtextxy(x4,y4+10,"5");
setcolor(4); setfillstyle(1,4); //-0->1---------------------------------------------- if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1])line(mx,my,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2])line(mx,my,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3])line(mx,my,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4])line(mx,my,x4,y4); //-1->2---------------------------------------------- if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][2])line(x1,y1,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][3])line(x1,y1,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][4])line(x1,y1,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][1])line(x2,y2,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][3])line(x2,y2,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][4])line(x2,y2,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][1])line(x3,y3,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][2])line(x3,y3,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][4])line(x3,y3,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][1])line(x4,y4,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][2])line(x4,y4,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][3])line(x4,y4,x3,y3); //-2->3---------------------------------------------- if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][2] && minimum(2,c[2][3],c[2][4])==c[2][3])line(x2,y2,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][2] && minimum(2,c[2][3],c[2][4])==c[2][4])line(x2,y2,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][3] && minimum(2,c[3][2],c[3][4])==c[3][2])line(x3,y3,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][3] && minimum(2,c[3][2],c[3][4])==c[3][4])line(x3,y3,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][4] && minimum(2,c[4][2],c[4][3])==c[4][2])line(x4,y4,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][4] && minimum(2,c[4][2],c[4][3])==c[4][3])line(x4,y4,x3,y3);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][1] && minimum(2,c[1][3],c[1][4])==c[1][3])line(x1,y1,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][1] && minimum(2,c[1][3],c[1][4])==c[1][4])line(x1,y1,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][3] && minimum(2,c[3][2],c[3][4])==c[3][2])line(x3,y3,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][3] && minimum(2,c[3][2],c[3][4])==c[3][4])line(x3,y3,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][4] && minimum(2,c[4][1],c[4][3])==c[4][1])line(x4,y4,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][4] && minimum(2,c[4][1],c[4][3])==c[4][3])line(x4,y4,x3,y3);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][1] && minimum(2,c[1][2],c[1][4])==c[1][2])line(x1,y1,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][1] && minimum(2,c[1][2],c[1][4])==c[1][4])line(x1,y1,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][2] && minimum(2,c[2][1],c[2][4])==c[2][1])line(x2,y2,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][2] && minimum(2,c[2][1],c[2][4])==c[2][4])line(x2,y2,x4,y4);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][4] && minimum(2,c[4][1],c[4][2])==c[4][1])line(x4,y4,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][4] && minimum(2,c[4][1],c[4][2])==c[4][2])line(x4,y4,x2,y2);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][1] && minimum(2,c[1][2],c[1][3])==c[1][2])line(x1,y1,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][1] && minimum(2,c[1][2],c[1][3])==c[1][3])line(x1,y1,x3,y3);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][2] && minimum(2,c[2][1],c[2][3])==c[2][1])line(x2,y2,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][2] && minimum(2,c[2][1],c[2][3])==c[2][3])line(x2,y2,x3,y3);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][3] && minimum(2,c[3][1],c[3][2])==c[3][1])line(x3,y3,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][3] && minimum(2,c[3][1],c[3][2])==c[3][2])line(x3,y3,x2,y2); //-3->4---------------------------------------------- if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][2] && minimum(2,c[2][3],c[2][4])==c[2][3] && minimum(1,c[3][4])==c[3][4])line(x3,y3,x4,y4); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][2] && minimum(2,c[2][3],c[2][4])==c[2][4] && minimum(1,c[4][3])==c[4][3])line(x4,y4,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][3] && minimum(2,c[3][2],c[3][4])==c[3][2] && minimum(1,c[2][4])==c[2][4])line(x2,y2,x4,y4); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][3] && minimum(2,c[3][2],c[3][4])==c[3][4] && minimum(1,c[4][2])==c[4][2])line(x4,y4,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][4] && minimum(2,c[4][2],c[4][3])==c[4][2] && minimum(1,c[2][3])==c[2][3])line(x2,y2,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][1] && minimum(3,c[1][2],c[1][3],c[1][4])==c[1][4] && minimum(2,c[4][2],c[4][3])==c[4][3] && minimum(1,c[3][2])==c[3][2])line(x3,y3,x2,y2);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][1] && minimum(2,c[1][3],c[1][4])==c[1][3] && minimum(1,c[3][4])==c[3][4])line(x3,y3,x4,y4); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][1] && minimum(2,c[1][3],c[1][4])==c[1][4] && minimum(1,c[4][3])==c[4][3])line(x4,y4,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][3] && minimum(2,c[3][1],c[3][4])==c[3][1] && minimum(1,c[1][4])==c[1][4])line(x1,y1,x4,y4); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][3] && minimum(2,c[3][1],c[3][4])==c[3][4] && minimum(1,c[4][1])==c[4][1])line(x4,y4,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][4] && minimum(2,c[4][1],c[4][3])==c[4][1] && minimum(1,c[1][3])==c[1][3])line(x1,y1,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][2] && minimum(3,c[2][1],c[2][3],c[2][4])==c[2][4] && minimum(2,c[4][1],c[4][3])==c[4][3] && minimum(1,c[3][1])==c[3][1])line(x3,y3,x1,y1);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][1] && minimum(2,c[1][2],c[1][4])==c[1][2] && minimum(1,c[2][4])==c[2][4])line(x2,y2,x4,y4); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][1] && minimum(2,c[1][2],c[1][4])==c[1][4] && minimum(1,c[4][2])==c[4][2])line(x4,y4,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][2] && minimum(2,c[2][1],c[2][4])==c[2][1] && minimum(1,c[1][4])==c[1][4])line(x1,y1,x4,y4); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][2] && minimum(2,c[2][1],c[2][4])==c[2][4] && minimum(1,c[4][1])==c[4][1])line(x4,y4,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][4] && minimum(2,c[4][1],c[4][2])==c[4][1] && minimum(1,c[1][2])==c[1][2])line(x1,y1,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][3] && minimum(3,c[3][1],c[3][2],c[3][4])==c[3][4] && minimum(2,c[4][1],c[4][2])==c[4][2] && minimum(1,c[2][1])==c[2][1])line(x2,y2,x1,y1);
if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][1] && minimum(2,c[1][2],c[1][3])==c[1][2] && minimum(1,c[2][3])==c[2][3])line(x2,y2,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][1] && minimum(2,c[1][2],c[1][3])==c[1][3] && minimum(1,c[3][2])==c[3][2])line(x3,y3,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][2] && minimum(2,c[2][1],c[2][3])==c[2][1] && minimum(1,c[1][3])==c[1][3])line(x1,y1,x3,y3); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][2] && minimum(2,c[2][1],c[2][3])==c[2][3] && minimum(1,c[3][1])==c[3][1])line(x3,y3,x1,y1); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][3] && minimum(2,c[3][1],c[3][2])==c[3][1] && minimum(1,c[1][2])==c[1][2])line(x1,y1,x2,y2); if (minimum(4,c[0][1],c[0][2],c[0][3],c[0][4])==c[0][4] && minimum(3,c[4][1],c[4][2],c[4][3])==c[4][3] && minimum(2,c[3][1],c[3][2])==c[3][2] && minimum(1,c[2][1])==c[2][1])line(x2,y2,x1,y1);
getch(); closegraph(); }
//***************************************************************************** void cost(void) {clrscr(); for(i=0;i<5;i++) { for(j=0;j<5;j++) {cout<<"Vedite stoimost iz goroda "<<i+1<<" v gorod "<<j+1<<" ";cin>>c[i][j];cout<<endl;} cout<<"\n\n"; } getche(); } //*****************************************************************************
int main(void) { do{ clrscr(); cout<<"1-Zapisat stoimost\n"; cout<<"2-Prosmotret marshrut\n"; cout<<"0-Vixod\n"; cin>>ch; if(ch=='1')cost(); if(ch=='2')pic(); }while(ch!='0'); return 0; } |
Это сообщение отредактировал(а) mr.DUDA - 18.3.2006, 21:53
|