Показать сообщение отдельно

  #6  
Старый 07.02.2008, 21:54
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Кто бы мог подумать, но вот понадобился Паскаль снова =(
Стандартная задача про счастливый билет:
Задается билет (шесть цифарок), нужно вывести на экран следующий после этого счастливый билет. Например: юзер ввел '123320' вывелось '123321'.
До конца отладить прогу так и не получается=(

P.S. На кривоту кода не обращайте внимания, Паскаль не юзал хз скоко времени =(

Огромное спасибо тому кто сделает, ну и конечно +++ =)

Код:
program lucky;       

uses Crt;            

Var
a,b,c,d,e,f : byte;
aw,bw,cw,dw,ew,fw,nw : string;
er1,er2,er3,er4,er5,er6 : integer;

begin

 ClrScr;            

 writeln('Enter your lucky-number');
 readln(nw);

 if Length(nw)<>6 then
  writeln('Enter valid number')
 else
  begin

                                    
                                    
                                    
  aw:=Copy(nw,1,1);                
  bw:=Copy(nw,2,1);                 
  cw:=Copy(nw,3,1);                   
  dw:=Copy(nw,4,1);                  
  ew:=Copy(nw,5,1);
  fw:=Copy(nw,6,1);

  Val(aw,a,er1);
  Val(bw,b,er2);
  Val(cw,c,er3);
  Val(dw,d,er4);
  Val(ew,e,er5);
  Val(fw,f,er6);

                                     
 if a+b+c+d+e+f = 54 then
  begin
   writeln('Congratulation! It is lucky-number!');
   writeln('Next lucky-number is 000000')
  end
 else

  if a+b+c=d+e+f then
   writeln('Congratulation! It is lucky-number!');


   for a:=a to 9 do
    for b:=b to 9 do
     for c:=c to 9 do
      for d:=d to 9 do
       for e:=e to 9 do
        for f:=f+1 to 9 do         // !!!!!!!!!!!!!!!!!!!!!!       

   if a+b+c=d+e+f then
    begin
     writeln('Next lucky-number is ',a,b,c,d,e,f);
     break;
    end




     end
end.




//123320 прекрасно
//111111 ничего кроме это лаки
//000001 ничего
 
Ответить с цитированием