Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2009, 23:56   #11
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

evg_m - прокаментирую плз ....что то я вообще не пойму что тут и куда...
maxind - вообще не инициализирована...
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 27.09.2009, 23:59   #12
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Почти то же самое, что и пересчёт чисел в заданном диапазоне.
Да и на форум много раз уже такое обсуждалось:
http://programmersforum.ru/showthrea...2%FC+%E2%F1%E5
TwiX вне форума Ответить с цитированием
Старый 27.09.2009, 23:59   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а вот и мой вариант.
Код:
const Dlina = 3;

var
  i : integer;
  s : string;
  RangeBegin, RangeEnd : char;
  flag : boolean;

begin
  WriteLn('----------------');

  RangeBegin := 'A';
  RangeEnd := 'D';
  s := '';
  for i:=1 to Dlina do s := s + RangeBegin;

  flag := false;
  repeat
    WriteLn(s);
    for i:= Dlina downto 1 do begin
      if s[i]<RangeEnd then begin s[i] := chr(ord(s[i])+1); break end
      else
        if i=1 then Flag:=true
        else s[i] := RangeBegin;
    end;
  until flag;
  
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.09.2009, 00:17   #14
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,528
По умолчанию

Код:
var
arind: array[0..100] of integer;//массив счетчиков
ind: integer;//текущий счетчик


for j:=0 to 100 do
arind[j]:=1;//начальное состояние (все счетчики =1)
maxind:=26;//максимальное значение счетчиков

ind:=100;//перебор состояний
while ind >=0 do
begin
if arind[ind]<maxind then 
begin//можно изменить(увеличить) текущий индекс
  arind[ind]:=arind[ind]+1;//увеличили
  for jj:=ind+1 to 100 do//сбросили все последующие индексы в начало (1)
  arind[jj]:=1;
  ind:=100;//сделали текущим последний(100)
//здесь получили индекcы состояния arind[0..100]
end
else//текущий индекс достиг максимума
  ind:=ind-1;//переходим к предыдущему
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 28.09.2009 в 00:20.
evg_m вне форума Ответить с цитированием
Старый 28.09.2009, 09:41   #15
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Спасибо вам обоим ! Помогли ...
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с перебором вариантов. Fidel157 Общие вопросы C/C++ 3 07.07.2009 10:26
Перебор всех возможных вариантов [MI_nor] Общие вопросы C/C++ 9 01.04.2009 21:17
Обращение к StreamIn и StreamOut у вариантов Oreol Общие вопросы Delphi 4 25.03.2009 13:26
обработка вариантов ответа из матрицы Alar Общие вопросы Delphi 0 29.10.2006 11:06