Урок 13.1. Задача 21.
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" росла волнами. Например, для N=49 получим:
1
23--сначала до двух
4
56
789--потом до трёх
1011
12--возвращаемся к одному
1314
151617
18192021--тут уже четыре
222324
2526--снова убывает
27
2829
303132
33343536
3738394041
42434445
464748
49
var N, M, a, b, i : integer;
fl : boolean;
begin
a := 0;
b := 1;
M := 2;
fl := true;
write('Enter an integer : ');
readln(N);
for i := 1 to N do
begin
a := a + 1;
write(i, ' ');
if a = b then
begin
a := 0;
writeln();
if fl then
b := b + 1
else
b := b - 1;
end;
if b = M then
fl := false;
if b = 1 then
begin
fl := true;
M := M + 1;
end;
end;
readln();
end.
Enter an integer : 49 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
- Log in to post comments
- 1352 reads
vedro-compota
Wed, 06/01/2022 - 20:58
Permalink
if b = M then
-- могут ли оба условия выполниться в одном витке? если нет - то нужно сцеплять их через else
2) Почему M=2?
_____________
матфак вгу и остальная классика =)
Dennis80
Sat, 06/04/2022 - 15:26
Permalink
var N, M, a, b, i : integer;
var N, M, a, b, i : integer; fl : boolean; begin a := 0; // для подсчета количества элементов в строке b := 1; // для увеличения или уменьшения количества элементов в строке. M := 2; // величина средней и самой длинной строки в своей пирамиде. fl := true; // флаг переключатель, увеличения или уменьшения. write('Enter an integer : '); readln(N); for i := 1 to N do begin a := a + 1; write(i, ' '); if a = b then // условие увеличения или уменьшения количества элементов в строке. begin a := 0; writeln(); if fl then b := b + 1 else b := b - 1; end; if (b = M) then // блок переключения флага и увеличения вершины пирамиды. fl := false else if b = 1 then begin fl := true; M := M + 1; end; end; readln(); end.vedro-compota
Sun, 06/05/2022 - 12:03
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)