Урок 14. Задача 5.

Урок 14. Задача 5.

Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N "ёлочкой", например для N=17:

1
2 3
4 5 6
7 8 9 10
11 12 13 14
15 16 17

ПРИМЕЧАНИЕ: для вывода очередной строки используйте отдельную подпрограмму, т.е. для каждой строки вы должны каждый раз (причем один раз для одной строки) вызывать эту подпрограмму.

var N, a, b, i, r : integer;

procedure line_output(i1, r1 : integer); // i1 - конечное значение строки
var i : integer;
begin
  for i := r1 to i1 do //  r1 - начальное значение строки
    write(i, ' ');
  writeln();
end;
begin
  write('Enter an integer : ');
  readln(N);
  r := 1; // начальное значение строки
  a := 0; // количество элементов в стоке
  b := 1; // длинна строки
  for i := 1 to N do
  begin
    a := a + 1;
    if (a = b) or (i = N) then
    begin
      line_output(i, r);
      r := i + 1; // получаем начальное значение следующей строки
      a := 0;
      b := b + 1;
    end;
  end;
  readln();
end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)