Урок 13.1 (Решенная задача номер 21)
Primary tabs
(Урок 13.1) (Решенная задача номер 21)
21)Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1.
.
var N,M, KLM, a,c,b,v: integer;
begin
writeln('vvedite cislo N');
readln(N);
writeln('vvedite cislo M');
readln(M);
KLM := M;
a := 1;
c := 1;
b := 0;
for N:= 1 to N do
begin
write(N, ' ');
if (v = 1) then
begin
a := a + 1;
if (a >= KLM) then
begin
writeln();
a := 1;
KLM := KLM - 1;
if (KLM = 1) then
begin
KLM := M;
v := 0;
c := 2;
end;
end;
end
else
if (v = 0) then
begin
b := b + 1;
if (b = c) then
begin
writeln();
c := c + 1;
b := 0;
if (c > M) then
begin
c := 1;
v := 1;
end;
end;
end;
end;
end.
- Log in to post comments
- 2220 reads
vedro-compota
Sat, 10/03/2020 - 20:51
Permalink
попытаться сделать более
_____________
матфак вгу и остальная классика =)
Romakip
Mon, 10/05/2020 - 15:54
Permalink
Исправлено
var N,M, KLM, ShetTrue,OzidaemayStroka,ShetFalse: integer; Flag: boolean; begin writeln('vvedite cislo N'); readln(N); writeln('vvedite cislo M'); readln(M); KLM := M; ShetTrue := 1; OzidaemayStroka := 1; ShetFalse := 0; for N:= 1 to N do begin write(N, ' '); if (Flag = True) then begin ShetTrue := ShetTrue + 1; if (ShetTrue >= KLM) then begin writeln(); ShetTrue := 1; KLM := KLM - 1; if (KLM = 1) then begin KLM := M; Flag := false; OzidaemayStroka := 2; end; end; end else if (Flag = false) then begin ShetFalse := ShetFalse + 1; if (ShetFalse = OzidaemayStroka) then begin writeln(); OzidaemayStroka := OzidaemayStroka + 1; ShetFalse := 0; if (OzidaemayStroka > M) then begin OzidaemayStroka := 1; Flag := True; end; end; end; end; end.