СД
Светлана Дзуцева

Помогите пожалуйста написать эту задачу с процедурой

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,i,j,k,x:integer;
begin
clrscr;
randomize;
repeat
write('Введите размер массива от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(1000);;
write(a[i]:4);
end;
writeln;
for i:=2 to n do
begin
x:=a[i];{запоминаем очередной элемент}
j:=1;{смотрим что слева от него}
while x div 10 mod 10>a[j] div 10 mod 10 do inc(j);{пока цифры десятков
меньше данного, идем вперед}
for k:=i-1 downto j do{нашли меньше, сдвигаем массив от этого элемента-1}
a[k+1]:=a[k];{на 1 вправо}
a[j]:=x;{вставляем найденный элемент на место}
end;
writeln('Отсортированный массив: ');
for i:=1 to n do
write(a[i]:4);
readln
end.

КР
Катя Родина

uses
crt;

const
nmax = 100;

type
MyArr = array[1..nmax] of integer;

procedure sort(var a: MyArr; n: integer);
var
i, j, k, x: integer;
begin
for i := 2 to n do
begin
x := a[i];{запоминаем очередной элемент}
j := 1;{смотрим что слева от него}
while x div 10 mod 10 > a[j] div 10 mod 10 do inc(j);{пока цифры десятков
меньше данного, идем вперед}
for k := i - 1 downto j do{нашли меньше, сдвигаем массив от этого элемента-1}
a[k + 1] := a[k];{на 1 вправо}
a[j] := x;{вставляем найденный элемент на место}
end;
end;

var
a: MyArr;
n, i: integer;

begin
clrscr;
randomize;
repeat
write('Введите размер массива от 2 до ', nmax, ' n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив: ');
for i := 1 to n do
begin
a[i] := random(1000);;
write(a[i]:4);
end;
writeln;
sort(a, n);
writeln('Отсортированный массив: ');
for i := 1 to n do
write(a[i]:4);
readln
end.

Похожие вопросы
Помогите як написать процедуру на паскале
Задача: написать процедуру, находящую количесво цифр натурального числа. Помогите
Помогите написать решение задачи на Pascal пожалуйста
помогите написать программу с использованием процедур
Pascal. Как написать процедуру?
Pascal Как написать процедуру?
Помогите пожалуйста написать задачу в ассемблере на паскале
Задача в паскале с процедурой помогите решить!
Помогите написать задачу через процедуру и функцию
Помогите как написать эту программу с функцией и процедурой