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

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

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

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

N (0 <N <100).

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

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

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

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

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

Пример:

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

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

textual
Листинг программы
  1. const nmax=20;
  2. var i,j,i1,n,m:integer;
  3.     a:array[1..nmax,1..nmax] of integer;
  4. begin
  5.  write('n = ');readln(n);
  6.  m:=1;
  7.  for i1:=n downto 1 do
  8.   begin
  9.    i:=i1;j:=1;
  10.    while i<=n do
  11.     begin
  12.      a[i,j]:=m;inc(m);
  13.      inc(i);inc(j);
  14.     end
  15.   end;
  16.  for i1:=2 to n do
  17.   begin
  18.    j:=i1;i:=1;
  19.    while j<=n do
  20.     begin
  21.      a[i,j]:=m;inc(m);
  22.      inc(i);inc(j)
  23.     end
  24.   end;
  25.  for i:=1 to n do
  26.   begin
  27.    for j:=1 to n do write(a[i,j]:4);
  28.    writeln
  29.   end;
  30.  readln
  31. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы