Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизПродолжение на тему For i:=1 to 10 do i:=i+1 Найти похожие ветки
← →
Петя (2002-10-07 14:26) [0]Я вот как то делал программу
For i:=0 to 255 do
For j:=0 to 255 do
For k:=0 to 255 do
For l:=0 to 255 do
Чегото
Так вот это чегото делелось максимум 2000 раз в секунду (В DOS-e).
Нетрудно подсчитать что весь цикл пройдёт за 25 дней , а реально - у меня там ещё и прогноз был за 30 дней.
Сами понимаете не реально домашний компьютер оставить включёным на месяц (И даже не из-за перебоев с электричеством)
Так вот я в теле цикла перед выходом зхапоминал текущее значение переменных i,j,k,l а при запуске их востонавливал именно в теле цикла.
А как тогда быть в Delphi ? какие есть способы обойти это ограничение.
Я личено один знаю с помощью указателей и/или ф-ии move.
какие ещё будут предложения ?
← →
still (2002-10-07 14:29) [1]если while ... do не нравится - юзай ASM
← →
McSimm (2002-10-07 14:30) [2]ода FORу:
...на тебе сошелся клином белый свет...
← →
Sectey (2002-10-07 14:34) [3]инициализация переменных
i:=... ;
j:=... ;
k:=... ;
l:=... ;
тело цикла.
while i < 256 do
while j < 256 do
while k < 256 do
while l < 256 do
ЧЕГОТО
Я конечно не знаю но мне сложно представить задачу с такой системой вложенности циклов. Не секрет, что она делает.
← →
Петя (2002-10-07 14:45) [4]>>Sectey
Я уже точно не помню - но примерно следующее (Школьная задачка).
Нужно было на шахматной доске разложить шахматы что бы они там какомуто условию удовлетворяли - и это условие как раз в ЧЕГОТО проверялось.
конесно строк на шахматной доске 8 - и следовательно циклов должно было быть 8 - но тогда при той же скорости прога работала бы без останова около 300 миллионов лет. - Я так подумал что не дождусь и сократил в двое число циклов.
P.S: Была такя легенда - что изобретателю шахмат какойто кароль предложил что угодно в награду - изобретатель втветил что хочет зерна , причём за первую клетку 1 за вторую 2 потом 4 8 и т.д. Геометр прогрессися - кароль ещё было обяделся что тот попрасил так мало - а оказалось что это в несколько миллионов раз больше зерна чем всё человечество добыло и что чтолб зерна, если не ошибаюсь в 15 тыс км, достал бы до солнца. Вот Так.
А насщёт циклов While - вы конечно правы - просто я тогда второй месяц программирование занимался.
← →
V-A-V (2002-10-07 14:46) [5]Ну не нравится тебе While ... do
что тебе мешает завести еще переменных примерно так...
For i:=stsrt_i to 255 do
For j:=stsrt_j to 255 do
For k:=stsrt_k to 255 do
For l:=stsrt_l to 255 do
и присвояй их как тебе надо...
← →
denisww (2002-10-07 14:49) [6]asm inc(i,200); end;
но это бред
и это может так завесить
← →
denisww (2002-10-07 14:54) [7]а лучше так
L1:a[1]:=1;
a[2]:=2;
a[3]:=3;
a[4]:=4;
a[5]:=5;
a[6]:=6;
a[7]:=7;
if a[7]=7 then goto L else L1;
эт чтоб наверняка
← →
denisww (2002-10-07 14:54) [8]L: дельфи уроды
← →
still (2002-10-07 14:56) [9]
> denisww © (07.10.02 14:54)
а вот это называется БЕЙСИК и к дельфи никакого отношения не имеет :)
← →
denisww (2002-10-07 15:06) [10]Хорошо
сталкнулся я на самом деле Вол стакой траблой
я беру *.xls
конвертирую в *.txt saveas
потом обрабатываю
и загоняю в xls обратно
скорость обработки возрасла в 1000 раз
но вот в тексте в пару ячейках попадаеться толи #13 толи #10
и сами понимаете строка обрываеться
aaaaaaaa#9bbbbbbbbbbb#9ccccccccccccccc#9ddddddddd#13ddddd#9
и это меня бесит
кто скажет как выдернуть правильно эти #13
потомучто это и есть конец строки
length(S)=aaaaaaaa#9bbbbbbbbbbb#9ccccccccccccccc#9ddddddddd
← →
denisww (2002-10-07 15:08) [11]хихи кто понял напишите
кто непонял пока думаем на For i:=1 to 10 do i:=i+1
← →
Юрий Зотов (2002-10-08 01:58) [12]> denisww
По поводу For i:=1 to 10 do i:=i+1 читайте мой ответ здесь:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1033981875&n=0
А по поводу "как выдернуть правильно эти #13" - нажмите F1 и прочитайте все же описание того, чем пользуетесь. Вы найдете функции Pos, Delete, StringReplace и еще массу полезного.
А по поводу "дельфи уроды" - существуют люди, способные сломать даже металлический шарик. Но уверенные, что виноваты в этом не они, а шарик.
"И это меня бесит" - вот здесь я с Вами полностью согласен.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c