Заданы три массива разной размерности. Отсортировать каждый массив по убыванию методом "пузырька".
нужно переделать программу через процедуры и функции
{$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.
Другие языки программирования и технологии
Помогите переделать программу в Delphi через "Процедуры, функции, модули".
{$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.
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.
А в чём затруднения? Записываете кусок кода, сортирующий массив, в процедуру, а потом вызываете её по потребности.
нужно - делай, код у тебя есть.
затруднения в том, что человек не хочет делать САМостоятельно.
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;
....
затруднения в том, что человек не хочет делать САМостоятельно.
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;
....
Похожие вопросы
- Помогите составить программу через Pascal с использованием функции и процедуры.
- помогите написать программу на Delphi
- Помогите составить программу в Delphi 7!
- Помогите написать программу на c++ С использованием функций
- помогите переделать программу на язык C#.
- помогите переделать программу из С++ в Си
- Помогите написать программу на Си с помощью ФУНКЦИЙ.
- помогите пожалуйста составить программу на Delphi/
- Как написать программу на Delphi программа которая бы постоянно висело в памяти и через определенное
- Программа на Delphi работает не совсем так...