Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
8-34521
avlan
2003-02-01 10:58
2003.05.12
Определить PixelFormat картинки


1-34466
Кирилл Негодов
2003-04-29 11:47
2003.05.12
Вывод текста с разными свойствами в Memo.


6-34531
ScaliaR
2003-03-15 04:11
2003.05.12
подсчет трафика в сети.


1-34507
vidiv
2003-04-26 11:16
2003.05.12
Как сделать TButton белого цвета


7-34637
opoloXAI
2003-03-18 12:52
2003.05.12
Просмотр бинарного файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский