Урок 13.1. Задача №21. Вложенные циклы
Primary tabs
Пользователь передает целые положительные число N и M,выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1.
Например, для M = 3 и N = 25 получим:
1
2 3
4 5 6 -- максимум три числа
7 8
9
10 11
12 13 14 -- снова три числа
18 19
20
21 22
23 24 25.....
var i, j, k, M, N, count : integer;
begin
k := 1;
count := 1;
writeln ('Enter positive integer N: ');
readln (N);
writeln ('Enter positive integer M: ');
readln (M);
writeln ();
while (i <= N) do
begin
for j := 1 to k do
begin
i += 1;
if (i <= N) then
write (i, ' ');
end;
if (k < M) and (k = count) then
begin
k += 1;
count += 1;
end else
begin
k -= 1;
count := 1;
end;
writeln ();
end;
readln(); // Удержание консоль
end.// Завершение программы- Log in to post comments
- 2942 reads
Firons
Thu, 04/30/2020 - 19:34
Permalink
Решение с boolean переменной
var i, j, k, M, N : integer; count : boolean; begin k := 1; writeln ('Enter positive integer N: '); readln (N); writeln ('Enter positive integer M: '); readln (M); writeln (); while (i <= N) do begin if (k = 1) then count := true; for j := 1 to k do begin i += 1; if (i <= N) then write (i, ' '); end; if (k < M) and (count = true) then begin k += 1; end else begin k -= 1; count := false; end; writeln (); end; readln(); // Удержание консоль end.//