Сортировка массива - Turbo Pascal (29081)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста отсортировать двумерный массив по диагонали. Дано целое число

N (0 <N <100).

Расположить в квадратной таблице размером NхN последовательность натуральных чисел 1, 2, ..., N2 таким образом, чтобы наименьшее число было в левом нижнем углу, а самое большое - в правом верхнем, а другие заполняли квадрат по диагоналям с левого верхнего угла к правому нижнему.

Входные данные:

в единственной строке записано число N.

Выходные данные:

вывести полученную таблицу.

Пример:

Входные данные: 3 Выходные данные: 4 7 9 2 5 8 1 3 6

Решение задачи: «Сортировка массива»

textual
Листинг программы
const nmax=20;
var i,j,i1,n,m:integer;
    a:array[1..nmax,1..nmax] of integer;
begin
 write('n = ');readln(n);
 m:=1;
 for i1:=n downto 1 do
  begin
   i:=i1;j:=1;
   while i<=n do
    begin
     a[i,j]:=m;inc(m);
     inc(i);inc(j);
    end
  end;
 for i1:=2 to n do
  begin
   j:=i1;i:=1;
   while j<=n do
    begin
     a[i,j]:=m;inc(m);
     inc(i);inc(j)
    end
  end;
 for i:=1 to n do
  begin
   for j:=1 to n do write(a[i,j]:4);
   writeln
  end;
 readln
end.

Объяснение кода листинга программы

  1. Переменная n инициализируется значением, введенным пользователем.
  2. Переменная m инициализируется единицей.
  3. В цикле for переменной i1 от n до 1 происходит следующее:
    • Переменная i инициализируется значением переменной i1.
    • Переменная j инициализируется значением переменной i1.
    • Запускается цикл while с условием i<=n, который выполняется, пока i меньше или равно n.
    • Внутри цикла while переменная a[i,j] присваивается значению m.
    • Переменная m инкрементируется.
    • Переменные i и j инкрементируются.
  4. Повторяется шаг 3 для каждой переменной i1 от 2 до n.
  5. В цикле for переменной i от 1 до n происходит следующее:
    • Выводится значение переменной a[i,j] (записанное через точку с запятой) для каждой переменной j от 1 до n.
    • Выводится символ новой строки.
  6. Запрашивается ввод с клавиатуры.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы