Форум: "Потрепаться";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизВопрос по графам? Найти похожие ветки
← →
Barlok (2003-04-18 18:07) [0]Мастера delphi вопрос по графам есть четырехугольник четыре точки, четыре ребра, как программно выполнить на Delphi. Знаю что нужно сравнить точки на смежность между собой, а для этого используется двумерный массив. В общем программу я написал, но не до конца. И вообще мне кажется что я ее решаю плохим способом, наверное есть более лучший способ. И еще интересная деталь, как сделать чтобы машина понимала, что четвертая точка соединяется с первой образуя квадрат или не соединяется. Как она определяет незнаю. У меня массив сделан так что если положем 1 вершина сравнивает сама себя то пишем 0 или если она не смежна с вершиной 3 тоже ноль, если первая смежна со 2 тогда пишем 1. Вывод матрицы осуществляется в StringGrid1. Код программы ниже:
procedure TForm1.Button1Click(Sender: TObject);
const
p = 4;
var
a : array [1..p,1..p] of 0..1;
i, j : integer;
begin
for i := 1 to p do
for j := 1 to p do
if i = j then
begin
StringGrid1.Cells[i,j]:= "0";
StringGrid1.Cells[i,j+1]:= "1";
StringGrid1.Cells[i+1,j]:= "1";
end;
end;
end.
← →
Barlok (2003-04-18 18:09) [1]Если у кого есть исходники скинте на мыло.
← →
kravchuk (2003-04-18 18:25) [2]Тебе просто надо представить граф в программе? если да, то матрица N*N, где N- кол во точек. Aij = 0- нет ребра, Aij = 1- есть ребро, если граф не направленный (ребра без стрелок), то матрица будт симметричная относительно главной диоганали
← →
Barlok (2003-04-18 18:55) [3]Может пример мой доисправишь и в виде исходника выложишь. Пожалуйста. Просто препод злой, а работу через 3 дня сдавать.
← →
Palladin (2003-04-18 20:15) [4]а в чем вопрос то?
> Мастера delphi вопрос по графам есть четырехугольник четыре
> точки, четыре ребра, как программно выполнить на Delphi.
что выполнить??
четыре точки четырехугольника запомнить чтоли?
> Знаю что нужно сравнить точки на смежность между собой
для чего??
я бы на месте препода тоже злой был бы еслиб с тобой пообщался.
судя по сильно размытым фразам я понял что тебе нужно сделать описание графа (опять же, какого именно типа - не указано).
тебе уже сказал kravchuk © (18.04.03 18:25), необходим массив отношений между вершинами графа.
Graf:array [1..2,1..2] of byte; - вот и все
← →
Diamond Cat (2003-04-18 23:24) [5]А о чем вообще вопрос, несколько раз прочитал, но так и не понял, что человек хочет сделать.
Прежде чем писать программы надо бы свои мысли в порядок привести
← →
Barlok (2003-04-19 13:41) [6]Да. Я не непонимаю графы, а что вы хотите я их только начил изучать. И для меня туго понимается. Предположим мысленно, имеется две вершины и между ними проведено ребро как они понимают соединены они этим ребром или нет. Причем реализация не должна быть представлена в виде изображения, на котором и так все видно, что есть, а чего нету, поэтому должна быть представленна с помощью чисел. Проверка: первая вершина сравнивает сама себя в матрице получаем 0, затем первая вершина сравнивает себя и вторую вершину, если соединены 1 если нет то 0. А как они узнают соединены они или нет, я это представить немогу. Да, граф не оринтированный.
← →
Neft (2003-04-23 23:24) [7]да мля.
1 и вторая вершины соединены , тогда
A[1,2]:=1;
A[2,1]:=1;
остальные нули
← →
Palladin (2003-04-24 00:54) [8]у тебя вершины уже ищут соседей, дык это уже на ОО граф смахивает
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c