Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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.
ВалерОК вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
по заданной матрице смежности простого графа построить каркас этого графа с использованием поиска вширь d1m2o3n4 Помощь студентам 0 22.06.2011 22:43
TurboPascal: графы, матрицы смежности и матрицы инцидентности. ulala Помощь студентам 1 03.03.2011 19:28
показать алгоритм в виде графа. Нина93 Помощь студентам 0 26.12.2010 14:31