Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.10;
Скачать: CL | DM;

Вниз

Графы и Referential Integrity   Найти похожие ветки 

 
OneOfTheFew   (2003-02-18 16:54) [0]

Любителям гимнастики для ума!!!

Графы и Referential Integrity:

Есть матрица M размерностью NxN,описавающая возможные взаимоотношения между элементами (A,B,C,D,E,F,G) - пусть эти элементы - файлы Paradox,связанные ссылочной целостностью :
Если элемент M[x,y]="*" - это значит, что M[X,0] является
"master" для M[Y,0].
Случай M[x,y]="*", где x=y не рассматриваем.

ABCDEFG
A
B*
C**
D *
E *
F

Другое представление:

A->B
B->С
С->(terminal)
D->E
E->(terminal)
F->(terminal)
G->D

Надо "пройти" матрицу M и составить порядок удаления данных из таблиц.

Ногами просьба не бить :)))


 
DarkGreen ©   (2003-02-18 17:41) [1]

В свойствах ссылочной целостности вместо Restriсt поставь Cascade. И будет оно у тебя спокойно удаляться в любом порядке
;-)


 
OneOfTheFew   (2003-02-18 17:58) [2]

2 Dark Green
Спасибо, попробую!


 
OneOfTheFew   (2003-02-18 18:07) [3]

2 Dark Green
Слушай, чего то не проходит Твой вариант :-(


 
DarkGreen ©   (2003-02-19 05:34) [4]

Странно :-/
Ну тогда так:

function dddd(K, L: integer);
begin
for I := k to n do
begin
for J := l to n do
begin
if MyArray[I, J]="*" then
dddd(I, J);
end;
delete from Table[I, 0]
end;
end;

.........
dddd(1, 0)
.........


Если не ошибаюсь :-)


 
DarkGreen ©   (2003-02-19 06:23) [5]

Опс, сорри, затупил откровенно. Так правильнее

var
MyArray: array[0..N, 0..N + 1] of Integer;
Deleted: array[0..N] of Boolean;

function dddd(K, L: integer);
begin
for I := k to n + 1 do
begin
for J := l to n do
if (MyArray[I, J]="*") and (I <> J) and not deleted[J] then
dddd(J, 0);
deleted[I] := True;
delete from Table[I] //Каким-то образом удаляем данные
end;
end;
..........
Инициализация массивов и т.д.
..........
dddd(1, 0)
..........




Страницы: 1 вся ветка

Текущий архив: 2003.03.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-29877
Roman Go
2003-02-26 13:00
2003.03.10
Как написать короткий путь к файлу


3-29713
Cherepovets
2003-02-18 23:40
2003.03.10
TQuery


14-30025
Andrey
2003-02-24 12:11
2003.03.10
Как отцепить курсор мышки от самой мышки


8-29961
Nimda2000
2002-11-29 08:33
2003.03.10
Доступ к avi


1-29879
policai
2003-02-25 23:21
2003.03.10
Свой ToolBar в Internet Explorer