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

Вниз

Как в цикле уменьнить на еденицу переменную цикла   Найти похожие ветки 

 
AZIZE ©   (2007-07-11 19:16) [0]

Как в цикле уменьнить на еденицу переменную цикла


 
TUser ©   (2007-07-11 19:18) [1]

while
repeat
си

на Паскале в цикле for нельзя


 
Anatoly Podgoretsky ©   (2007-07-11 19:18) [2]

Это делать нельзя, да и Дельфи не позволит.


 
Desdechado ©   (2007-07-11 19:19) [3]

> Anatoly Podgoretsky ©   (11.07.07 19:18) [2]
Чего это вдруг?
for i:=10 downto 0 do
Типичное уменьшение на единицу на каждой итерации.


 
Anatoly Podgoretsky ©   (2007-07-11 19:45) [4]

Он вообще то говорит об ручном изменение переменной цикла.


 
Virgo_Style ©   (2007-07-11 19:57) [5]

а мой телепатор считает, что ему continue подойдет


 
Virgo_Style ©   (2007-07-11 19:59) [6]

Virgo_Style ©   (11.07.07 19:57) [5]

Э, нет. Прошу пардону, подошел бы, если бы надо было перейти на следующую итерацию, если на предыдущую - то нет... Но если цикл с downto, то [5] в силе. В чем я уже весьма сомневаюсь.


 
vpbar ©   (2007-07-11 20:13) [7]

Вообще менять пременную цикла (for - этот ведь цикл имелся ввиду?) нельзя, да и Делфи этого не позволяет. Но если очень хочется то можно. Вот код:

var i:integer;
  p:PINT;
begin
  memo1.Clear;
  for i:=1  to 10 do begin
   p:=@i;
   if i=5 then inc(p^);
   memo1.Lines.Add(inttostr(i));
  end;
end;


 
vpbar ©   (2007-07-11 20:15) [8]

Да. там увеличение inc(p^) а не уменьшение dec(p^), ибо в  этом случае цикл получился бы бесконечный. Поэтому, из-за большой вероятности таких ошибок делать так не рекомендую


 
{RASkov} ©   (2007-07-11 20:31) [9]

[7],[8] все это безобидно решается [5] :)


 
{RASkov} ©   (2007-07-11 20:38) [10]

N:=0;
while N<10 do begin
.....
 if not Verify(N) then DEC(N) else INC(N);
end;


Но отсюда можно и не вылезти...) Хотя можно и так решить:

N:=0;
NStop:=0;
while N<10 do begin
.....
 if not Verify(N) then DEC(N) else INC(N);
 INC(NStop);
 if NStop>=1000 then raise Except.Create("Не могу выйти, закружилась");
end;


 
Anatoly Podgoretsky ©   (2007-07-11 20:54) [11]

> vpbar  (11.07.2007 20:13:07)  [7]

Это не наш метод, а хакерский и чреватый.


 
vpbar ©   (2007-07-11 21:04) [12]

да это наш хакерский метод, потому и не рекомендую



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
2-1184298375
Интересующийся
2007-07-13 07:46
2007.08.12
Защита программы


2-1184446744
Anar
2007-07-15 00:59
2007.08.12
Не могу преоброзовать строку в дату.


6-1167768922
Moonglow
2007-01-02 23:15
2007.08.12
CrtSock


3-1177493170
EvilIJ
2007-04-25 13:26
2007.08.12
Минимальные, максимальные и значения по умолчанию


15-1184160100
IMHO
2007-07-11 17:21
2007.08.12
Слово о дефиците