Другие языки программирования и технологии

Помогите переделать программу в Delphi через "Процедуры, функции, модули".

Заданы три массива разной размерности. Отсортировать каждый массив по убыванию методом "пузырька".

нужно переделать программу через процедуры и функции

{$APPTYPE CONSOLE}

uses
SysUtils;

var
a,b,c: array[1..100] of integer;
i,j,n1,n2,n3: byte;
buf: integer;
begin
randomize;
writeln('Vvedite razmernost 1-ogo, 2-ogo i 3-ego massivov ');
writeln;
readln(n1,n2,n3);
writeln;
writeln('1-yi massiv: ');
writeln;
for i := 1 to n1 do
begin
a[ i ] := random(101) - 50;
write(a[ i ]:4);
end;
writeln;
for i := 1 to n1 - 1 do
for j := 1 to n1 - i do
if a[j] < a[j+1] then
begin
buf := a[j];
a[j] := a[j+1];
a[j+1] := buf;
end;
writeln;
writeln('2-oi massiv: ');
writeln;
for i := 1 to n2 do
begin
b[ i ] := random(101) - 50;
write(b[ i ]:4);
end;
writeln;
for i := 1 to n2 - 1 do
for j := 1 to n2 - i do
if b[j] < b[j+1] then
begin
buf := b[j];
b[j] := b[j+1];
b[j+1] := buf;
end;
writeln;
writeln('3-ii massiv: ');
writeln;
for i := 1 to n3 do
begin
c[ i ] := random(101) - 50;
write(c[ i ]:4);
end;
writeln;
for i := 1 to n3 - 1 do
for j := 1 to n3 - i do
if c[j] < c[j+1] then
begin
buf := c[j];
c[j] := c[j+1];
c[j+1] := buf;
end;
writeln;
writeln('Rezultat sortirovki: ');
writeln;
writeln('1-yi massiv: ');
writeln;
for i := 1 to n1 do
write(a[ i ]:4);
writeln;
writeln('2-oi massiv: ');
writeln;
for i := 1 to n2 do
write(b[ i ]:4);
writeln;
writeln('3-ii massiv: ');
writeln;
for i := 1 to n3 do
write(c[ i ]:4);
readln;
end.
{$APPTYPE CONSOLE}

uses
SysUtils;

var
a,b,c: array[0..100] of integer;
n1,n2,n3: Byte;

procedure sort(var m: array of Integer; count: Byte);
var i, j: Byte;
begin
for i := 0 to count - 1 do
for j := i to count - 1 do
if m[ i ] > m[ j ] then begin
m[ i ] := m[ j ] + m[ i ];
m[ j ] := m[ i ] - m[ j ];
m[ i ] := m[ i ] - m[ j ];
end;
end;

procedure init(var m: array of Integer; count: Byte);
var i: Byte;
begin
for i := 0 to count - 1 do begin
m[ i ] := random(101) - 50;
write(a[ i ]:4);
end;
end;

procedure vivod(var m: array of Integer; count: Byte);
var i: Byte;
begin
for i := 0 to count - 1 do
write(m[ i ]:4);
end;

begin
randomize;
writeln('Vvedite razmernost 1-ogo, 2-ogo i 3-ego massivov ');
writeln;
readln(n1,n2,n3);
writeln;
writeln('1-yi massiv: ');
writeln;
init(a, n1);
writeln;
sort(a, n1);
writeln;
writeln('2-oi massiv: ');
writeln;
init(b, n2);
writeln;
sort(b, n2);
writeln;
writeln('3-ii massiv: ');
writeln;
init(c, n3);
writeln;
sort(c, n3);
writeln;
writeln('Rezultat sortirovki: ');
writeln;
writeln('1-yi massiv: ');
writeln;
vivod(a, n1);
writeln;
writeln('2-oi massiv: ');
writeln;
vivod(b, n2);
writeln;
writeln('3-ii massiv: ');
writeln;
vivod(c, n3);
readln;
end.
Ярослав Свинчак
Ярослав Свинчак
1 511
Лучший ответ
А в чём затруднения? Записываете кусок кода, сортирующий массив, в процедуру, а потом вызываете её по потребности.
нужно - делай, код у тебя есть.
затруднения в том, что человек не хочет делать САМостоятельно.
procedure input;
begin
writeln('Vvedite razmernost 1-ogo, 2-ogo i 3-ego massivov ');
writeln;
readln(n1,n2,n3);
writeln;
writeln('1-yi massiv: ');
writeln;
for i := 1 to n1 do
begin
a[ i ] := random(101) - 50;
write(a[ i ]:4);
end;
end;
....