Урок 13.1 Задача 19

Урок 13.1 Задача 19

Модифицируйте предыдущий вывод "ёлочкой" так, чтобы в каждой нечетной строке выводились только четные числа, а в каждой четной только нечетные, например для N=17:

3
4 6
7 9
12 14
17

Решение:

program u13z19;
var i,j,n,m:integer;
begin
  writeln('Vvedite chislo');
  readln(n);
  i:=1; //номер элемента по порядку
  j:=1; //номер строки
  m:=0; //номер элемента в строке
  while i<=n do
  begin
    if j=m then
    begin
      writeln();
      j:=j+1;
      m:=0;
    end
    else
    begin
      if (j mod 2 = 1)and(i mod 2 = 0) then
        write(i,' ');
      if (j mod 2 = 0)and(i mod 2 = 1) then
        write(i,' ');
      i:=i+1;
      m:=m+1;
    end;
  end;
  readln();
end.

var i,j,n,m:integer;
begin
  writeln('Vvedite chislo');
  readln(n);
  i:=1;
  j:=1;
  m:=0;
  while i<=n do
  begin
    while j<>m do
    begin
      if i<=n then
      begin
        if (j mod 2 = 1)and(i mod 2 = 0) then
          write(i,' ');
        if (j mod 2 = 0)and(i mod 2 = 1) then
          write(i,' ');
        m:=m+1;
        i:=i+1;
      end;
    end;
    writeln();
    j:=j+1;
    m:=0;
  end;
  readln();
end.

Консоль:

Vvedite chislo
50

3
4 6
7 9
12 14
17 19 21
22 24 26 28
29 31 33 35
38 40 42 44
47 49