Показать сообщение отдельно
  #19  
Старый 10.03.2012, 19:50
nixel nixel вне форума
Начинающий
 
Регистрация: 12.12.2011
Адрес: Москва
Сообщения: 150
Версия Delphi: XE2-U4
Репутация: 131
По умолчанию

по поводу сокращения кода

Код:
a:=0;
 While a<=25 do   // 1 цикл
 begin
 a:=a+1;
 b:=0;
  While b<=25 do   // 2 цикл
  begin
  b:=b+1;
  c:=0;
   While c<=25 do   // 3 цикл
   begin
   c:=c+1;
   d:=0;
    While d<=25 do   // 4 цикл
    begin
    d:=d+1;
    e:=0;
     While e<=25 do   // 5 цикл
     begin
     e:=e+1;
     f:=0;
      While f<=25 do   // 6 цикл
      begin
      f:=f+1;
      g:=0;
       While g<=25 do   // 7 цикл
       begin
       g:=g+1;
       h:=0;
        While h<=25 do   // 8 цикл
        begin
        h:=h+1;
        i:=0;
         While i<=25 do   // 9 цикл
         begin
         i:=i+1;

 Memo1.Lines.Add(Abc[a]+Abc[b]+Abc[c]+Abc[d]+Abc[e]+Abc[f]+Abc[g]+Abc[h]+Abc[i]);

можно переписать так:
Код:
for a:= 1 to 26 do
  for b:= 1 to 26 do
    for c:= 1 to 26 do
      for d:= 1 to 26 do
        for e:= 1 to 26 do
          for f:= 1 to 26 do
            for g:= 1 to 26 do
              for h:= 1 to 26 do
                for i:= 1 to 26 do
                  Memo1.Lines.Add(Abc[a]+Abc[b]+Abc[c]+Abc[d]+Abc[e]+Abc[f]+Abc[g]+Abc[h]+Abc[i]);

соответственно это с учетом того, что используется строка ABC: string = 'abcdefghijklmnopqrstuvwxyz', у которой ABC[1] = a, а ABC[26] - z. это я к написанному выше о нулевом элементе.
Ответить с цитированием