Главная страница
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.028 c
6-1167811987
Владимир1
2007-01-03 11:13
2007.08.12
Заполнение текстового поля на странице через Delphi


2-1184308818
Kolan
2007-07-13 10:40
2007.08.12
Почему один пакет не видит, что в другом пакете есть класс?


1-1179609104
Dmitry_177
2007-05-20 01:11
2007.08.12
Длина строки


2-1184854845
Avokain
2007-07-19 18:20
2007.08.12
Числа вида 1,000,000


15-1184421318
DillerXX
2007-07-14 17:55
2007.08.12
Maple