|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2012, 00:59 | #1 |
Пользователь
Регистрация: 21.01.2012
Сообщений: 24
|
в паскале ввод графа в виде матрицы смежности
рисует неправильно, посмотрите мож где ошибка
Uses crt,graph; Var i,j,r,k,g,m:integer; mas: array [1..10,1..10] of integer; masg: array [1..10,1..2] of integer; Label 1; Begin Clrscr; Textcolor(15); Writeln('Please enter size array'); Readln(r); Writeln('Please enter data in array'); k:=7; For i:=1 to r do begin Textcolor(15); Gotoxy(k,5); Write('x',i); Gotoxy(k,6); Write('-'); For j:=1 to r do begin 1: Textcolor(15); Gotoxy(k,j+6); Readln(mas[i,j]); if (mas[i,j]<>1) and (mas[i,j]<>0) then begin Textcolor(4+128); Gotoxy(25,12); Writeln('FATAL ERROR!!! RETRY PLEASE'); Gotoxy(k,j+6); Writeln(' '); Goto 1; end; Gotoxy(1,j+6); Writeln('x',j,'|'); end; k:=k+5; end; Readln; g:=detect; m:=detect; Initgraph(g,m,''); For i:=1 to r do Case i of 1: begin masg[1,1]:=180; masg[1,2]:=100; Circle(masg[1,1],masg[1,2],1); Outtextxy(masg[1,1]-25,masg[1,2]-15,'x1'); end; 2: begin masg[2,1]:=300; masg[2,2]:=100; Circle(masg[2,1],masg[2,2],1); Outtextxy(masg[2,1]-25,masg[2,2]-15,'x2'); end; 3: begin masg[3,1]:=420; masg[3,2]:=160; Circle(masg[3,1],masg[3,2],1); Outtextxy(masg[3,1]+25,masg[3,2]-15,'x3'); end; 4: begin masg[4,1]:=480; masg[4,2]:=240; Circle(masg[4,1],masg[4,2],1); Outtextxy(masg[4,1]+25,masg[4,2]-15,'x4'); end; 5: begin masg[5,1]:=480; masg[5,2]:=320; Circle(masg[5,1],masg[5,2],1); Outtextxy(masg[5,1]+25,masg[5,2]-15,'x5'); end; 6: begin masg[6,1]:=420; masg[6,2]:=380; Circle(masg[6,1],masg[6,2],1); Outtextxy(masg[6,1]-25,masg[6,2]+15,'x6'); end; 7: begin masg[7,1]:=300; masg[7,2]:=420; Circle(masg[7,1],masg[7,2],1); Outtextxy(masg[7,1]-25,masg[7,2]+15,'x7'); end; 8: begin masg[8,1]:=180; masg[8,2]:=420; Circle(masg[8,1],masg[8,2],1); Outtextxy(masg[8,1]-30,masg[8,2]+15,'x8'); end; 9: begin masg[9,1]:=60; masg[9,2]:=340; Circle(masg[9,1],masg[9,2],1); Outtextxy(masg[9,1]-25,masg[9,2]+15,'x9'); end; 10: begin masg[10,1]:=60; masg[10,2]:=220; Circle(masg[10,1],masg[10,2],1); Outtextxy(masg[10,1]-30,masg[10,2]-15,'x10'); end; end; For j:=1 to r do For i:=1 to r do begin if mas[j,i]=1 then begin line(masg[j,1],masg[j,2],masg[i,1],masg[i,2]); end; if (i=j) and (mas[j,i]=1) then circle(masg[j,1],masg[j,2]-7,7); end; For i:=1 to r do For j:=1 to r do begin if mas[j,i]=1 then if (masg[i,1]<masg[j,1]) and (masg[i,2]>masg[j,2]) then begin line(masg[j,1],masg[j,2],masg[j,1]-7,masg[j,2]); line(masg[j,1],masg[j,2],masg[j,1],masg[j,2]+7); end; if (masg[i,1]>masg[j,1]) and (masg[i,2]<masg[j,2]) then begin line(masg[j,1],masg[j,2],masg[j,1]+7,masg[j,2]); line(masg[j,1],masg[j,2],masg[j,1],masg[j,2]-7); end; if (masg[j,1]<masg[i,1]) and (masg[j,2]<masg[i,2]) then begin line(masg[j,1],masg[j,2],masg[j,1]+7,masg[j,2]); line(masg[j,1],masg[j,2],masg[j,1],masg[j,2]+7); end; if (masg[j,1]>masg[i,1]) and (masg[j,2]>masg[i,2]) then begin line(masg[j,1],masg[j,2],masg[j,1]-7,masg[j,2]); line(masg[j,1],masg[j,2],masg[j,1],masg[j,2]-7); end; end; Readln; End. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
по заданной матрице смежности простого графа построить каркас этого графа с использованием поиска вширь | d1m2o3n4 | Помощь студентам | 0 | 22.06.2011 22:43 |
TurboPascal: графы, матрицы смежности и матрицы инцидентности. | ulala | Помощь студентам | 1 | 03.03.2011 19:28 |
показать алгоритм в виде графа. | Нина93 | Помощь студентам | 0 | 26.12.2010 14:31 |