![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Матрица в памяти [D3, Win95/98]
xman © (2004-06-09 11:16:00)Ув. Мастера, помогоите, очень надо.
Мне нужно написать программу где содержится матрица соединений графа, которая нахождится в памяти
продолжение вопроса(не важно)
узнать количество ребер которые входят и выходят из данной вершины
pasha_golub (2004-06-09 12:03:00) [1]Minori (09.06.04 11:35) [5]
Я не спорю, но мы программисты должне думать о дальнейшей жизни кода и его портабельности? ;-)
Вот мои аргументы:
Булев тип все равно занимает один байт памяти, дык, давайте, на крайний случай, объявим массив of byte. И при значении ноль - нет прямой связи, в ином случае есть. Но при модификации кода мы уже будем иметь возможность задать вес ребра от 1 до 255. Но, это так, мысли вслух. :-))
Minori (2004-06-09 11:35:00) [2]2 pasha_golub
Ну, может это ему не совсемнужно, написано ребра пересчитать :)- пожалуйста.
xman (2004-06-09 11:34:00) [3]мастера, у меня алгоритм вычисления вершин готов.
У меня в вопросе, надо чтобы матрица была в памяти (в какой неизвесно). Что вы мне можете посоветовать?
pasha_golub (2004-06-09 11:31:00) [4]Minori (09.06.04 11:29) [2]
Не совсемВаша правда. Обычно вводят численный массив, потому как часто в задачах фигурируют веса ребер (например, расстояния и т.д.)
Minori (2004-06-09 11:29:00) [5]Вести булевый двумерный массив с вершинами.
Навроде: если между вершинами A и B есть связь, то элемент массива [a,b] равен TRUE.
var nodes: array [1..100, 1..100] of boolean;
n, i, num: integer;
begin
n:=1;
for i:=1 to 100 do
if (n<>i) and (nodes[n,i]) then num:=num+1;
end;
Приведенный код просчиает количество вершин, связанных с вершиной номер n (в данном случае n=1). num - количество.
pasha_golub (2004-06-09 11:26:00) [6]А где она еще может находится просветите?