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

Задача 21 Урок 13.1:

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

3
4 6
7 9
12 14
17
program task21;
var a,b,n,c: integer;
begin
  writeln('vvedite chislo n');
  readln(n);
  c:=1;
  while (n>0) do
  begin
    if (a<=b) then
    begin
      if (b mod 2=0) then
      begin
        if (c mod 2=0) then
        begin
          c:=c+1;
          write(c,' ');
        end
        else
          write(c,' ');
      end
      else
      if (c mod 2=0) then
        write(c,' ')
      else
        begin
          c:=c+1;
          write(c,' ');
        end;
      a:=a+1;
      n:=n-1;
      c:=c+1;         //увеличение числа на выводе
    end
    else              //переходим на новую строку
    begin
      writeln();
      b:=b+1;         //кол-во строк
      a:=0;           //кол-во символов
    end;
  end;
  readln();
end.

program task21ver2;
var a,b,n,c: integer;
begin
  writeln('vvedite chislo n');
  readln(n);
  c:=1;                            //c-число которое выводится
  while (n>=c) do
  begin
    if (a<=b) then                //b-кол-во символов которое нужно вывести и
    begin                         //определение четности строки
      if (b mod 2=0) then
      begin                       //a-кол-во символов которое вывелось
        if (c mod 2=0) then       //когда строка нечетная
          c:=c+1;
      end
      else
      if (c mod 2<>0) then        //когда строка четная
        c:=c+1;
      write(c,' ');
      a:=a+1;
      c:=c+1;
    end
    else
    begin
      writeln();
      b:=b+1;
      a:=0;
    end;
  end;
  readln();
end.