program schetchik;
uses crt;
const N = 4;
var A : array[1..N] of Integer;
i,k: integer;
function peremotka(T:integer):boolean;
begin
if T > 9 then
peremotka := true;
end;
begin
clrscr;
readln(k); {сколько раз считать}
for i:=1 to k do
begin
A[1] := A[1] + 1;
if (peremotka(A[1]) = true) then
begin
A[1] := 0;
A[2] := A[2] + 1;
if (peremotka(A[2]) = true) then
begin
A[2] := 0;
A[3] := A[3] + 1;
if (peremotka(A[3]) = true) then
begin
A[3] := 0;
A[4] := A[4] + 1;
if (peremotka(A[4]) = true) then
begin
{Перевод после 9999}
A[4] := 0;
A[3] := 0;
A[2] := 0;
A[1] := 0;
end;
end;
end;
end;
delay(1000);
clrscr;
writeln(A[4],A[3],A[2],A[1]);
end;
end.
спасибо , но мы такого еще не учили а не знаеш способа сделать проще используя только for to do?Ну вот держите електро счетчик на 4 значения. Сделан немного туповато, но работает нормально.
Код:program schetchik; uses crt; const N = 4; var A : array[1..N] of Integer; i,k: integer; function peremotka(T:integer):boolean; begin if T > 9 then peremotka := true; end; begin clrscr; readln(k); {сколько раз считать} for i:=1 to k do begin A[1] := A[1] + 1; if (peremotka(A[1]) = true) then begin A[1] := 0; A[2] := A[2] + 1; if (peremotka(A[2]) = true) then begin A[2] := 0; A[3] := A[3] + 1; if (peremotka(A[3]) = true) then begin A[3] := 0; A[4] := A[4] + 1; if (peremotka(A[4]) = true) then begin {Перевод после 9999} A[4] := 0; A[3] := 0; A[2] := 0; A[1] := 0; end; end; end; end; delay(1000); clrscr; writeln(A[4],A[3],A[2],A[1]); end; end.
Товарисч, пользуйтесь поиском - совсем недавно в этом же форуме была создана тема по быстрой сортировке где я приводил код как рекурсивной так и нерекурсивной версий.напишите плз код быстрой сортировки с без рекурсии ато с рекурсией полно а без чето ненашол. ато столкнулся что надо сортировать быстро и все и нетуда и несуда
program cnt;
uses crt;
const
c_start = 0;
c_end = 1000;
c_size = 5;
var i:integer;
procedure write_padded(num,size:word);
var s:string;
i:integer;
begin
str(num,s);
for i := length(s) to size do write(0);
write(s);
end;
BEGIN
for i := c_start to c_end do begin
write(#13);
write_padded(i,c_size);
delay(1000);
end;
END.
Рекурсивная неугодила тем что учителю в школе она видитиле ненравится)Товарисч, пользуйтесь поиском - совсем недавно в этом же форуме была создана тема по быстрой сортировке где я приводил код как рекурсивной так и нерекурсивной версий.
Кстати чем вам-то рекурсивная не угодила? На 32битных компиляторах проблем со стеком быть не должно.