|
Постоянный
Регистрация: 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 ничего
|