Переменные и массив обнуляешь смешно :) Прямо привет из прошлого, а еще массив объявляли absolute в видеопамяти, кажется это было B000f, то есть еще дополнительные 64кб плюс к доступным, и смотрелось прикольно когда считало.
>а еще массив объявляли absolute в видеопамяти, кажется это было B000f, то есть еще дополнительные 64кб плюс к доступным, и смотрелось прикольно когда считало.
Помню тоже писАл на Паскале.. тоже в Gvim и причем с такой же темой :) Помню ещё, что в программу в качестве комментария всегда писАл: "Made in Russia. Powered by GVim!" :)))))
> это алгоритм Уоршалла для построения транзитивного замыкания
если интересно, есть более быстрый (квадратичный) алгоритм, называется "объединение
по рангам со сжатием путей", описан в Кормене, Лeйзерсоне и Ривесте, глава 22.4
первого издания.
Это чисто досовская фишка- так в турбо паскале развлекались. Absolute - такой хитрый модификатор, который позволяет задать фактическое местоположение переменной в памяти. Так вот задав массив примерно так (за синтаксис не ручаюсь, надо гуглить):
array[1..320,1.200] of byte absolute[B000f:0000f];
можно было рисовать на экране просто изменяя значения в массиве. Только нужно еще видео режим переключить, что то типа:
asm
mov ax,11h
mov bx,1Ah
int 13h
end;
Я наверняка все цифры перепутал, но суть в том, что в bx задаём номер видеорежима, ax- номер "функции" меняющей разрешение. А вообще эта фишка использовалась просто как дополнительная память при расчётах. На всяких конкурсах/олимпиадах EMS и проч. было запрещено, а такую хитрость обычно не отлавливали. А 64000 байт нахаляву- это вам не хухры мухры, это могло исход битвы изменить :)