Показать сообщение отдельно
  #5  
Старый 30.10.2011, 20:23
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Способа два. Первый - самый простой, но не гибкий. Делается что-то вроде этого:

Код:
case nNumber of
0: nResult:=3;
1: nResult:=4;
....
end;

И так далее.
Но здесь сдвиг нельзя сделать сдвиг на произвольное значение - все уже "забито"

Другой способ - сделать круговой переход по массиву на некоторое число шагов то есть при достижении конца программа будет переходить в начало. Что-то вроде

Код:
nResul:= nNumber+ nDelta;
if nResult >=10 then
 nResu;t:=nResult-10;

И если результат превысит или достигнет 10, то он вернутся в начало. При сдвиге в 10 получится то же число
С расшифровкой, надеюсь, сам разберешься

P.S. Сообщение № 333
Ответить с цитированием