Другие языки программирования и технологии
Сортировка одномерного массива + вставка числа в отсортированный массив PASCAL
Отсортировать одномерный массив целых случайных чисел по возрастанию методом прямого выбора. В отсортированный массив вставить случайное число, введенное пользовате-лем так, чтобы массив остался отсортированным.
var i, j, m, c, n: integer;
a: array [0..100] of byte;
begin
write ('n = ');
readln(n);
for i:=1 to n do
begin
a[i]:=random(100);
write (a[i]:3);
end;
for i:=1 to n-1 do
begin
c:=a[i];
m:=i;
for j:=i+1 to n do
if a[j] < a[m] then m:=j;
if m <> i then
begin
a[i]:=a[m];
a[m]:=c;
end;
end;
writeln;
for i:=1 to n do write (a[i]:3);
writeln;
write ('m = ');
readln(m);
if m > a[n] then a[n+1]:=m
else
for i:=n downto 1 do
if m <= a[i] then
begin
a[i+1]:=a[i];
a[i]:=m;
end;
for i:=1 to n+1 do write (a[i]:3);
end.
a: array [0..100] of byte;
begin
write ('n = ');
readln(n);
for i:=1 to n do
begin
a[i]:=random(100);
write (a[i]:3);
end;
for i:=1 to n-1 do
begin
c:=a[i];
m:=i;
for j:=i+1 to n do
if a[j] < a[m] then m:=j;
if m <> i then
begin
a[i]:=a[m];
a[m]:=c;
end;
end;
writeln;
for i:=1 to n do write (a[i]:3);
writeln;
write ('m = ');
readln(m);
if m > a[n] then a[n+1]:=m
else
for i:=n downto 1 do
if m <= a[i] then
begin
a[i+1]:=a[i];
a[i]:=m;
end;
for i:=1 to n+1 do write (a[i]:3);
end.
// Просто интересно было сделать..
program mySort;
const SIZE = 15; N = 0; // Размер массива и число для вставки
var a: array of integer;
begin
randomize;
setlength(a, SIZE);
for var i := 0 to high(a) do a[i] := random(-100, 100);
writeln('Исходный массив: ', a);
var min, tmp: integer;
for var i := 0 to high(a)-1 do begin
min := i;
for var j := i+1 to high(a) do if a[j] < a[min] then min := j;
if min <> i then begin
tmp := a[i]; a[i] := a[min]; a[min] := tmp;
end;
end;
writeln('Отсортированный массив: ', a);
setlength(a, length(a)+1);
for var i := 0 to high(a) do
if a[i] > N then begin
for var j := 0 to high(a)-i do a[high(a)-j] := a[high(a)-j-1];
a[i] := N;
break;
end;
writeln('Массив после вставки "', N, '": ', a);
end.
program mySort;
const SIZE = 15; N = 0; // Размер массива и число для вставки
var a: array of integer;
begin
randomize;
setlength(a, SIZE);
for var i := 0 to high(a) do a[i] := random(-100, 100);
writeln('Исходный массив: ', a);
var min, tmp: integer;
for var i := 0 to high(a)-1 do begin
min := i;
for var j := i+1 to high(a) do if a[j] < a[min] then min := j;
if min <> i then begin
tmp := a[i]; a[i] := a[min]; a[min] := tmp;
end;
end;
writeln('Отсортированный массив: ', a);
setlength(a, length(a)+1);
for var i := 0 to high(a) do
if a[i] > N then begin
for var j := 0 to high(a)-i do a[high(a)-j] := a[high(a)-j-1];
a[i] := N;
break;
end;
writeln('Массив после вставки "', N, '": ', a);
end.
Похожие вопросы
- как при сортировке одномерного массива оставить на месте неположительные элементы
- Сортировка одномерного массива
- помощь по си! сортировка одномерного массива!
- Pascal одномерные массивы.
- Нужно подправить программу в Pascal на одномерные массивы.
- pascal одномерные массивы. дан массив А(30).
- Помогите пожалуйста решить задачи по информатике, одномерные массивы. Си шарп. Очень срочно. Пожалуйста!!!!
- Помогите с программой Одномерные массивы и указатели
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
Отсортированный массив: [-78,-72,-69,-62,-27,-25,10,13,19,59,71,72,73,81,92]
Массив после вставки "0": [-78,-72,-69,-62,-27,-25,0,10,13,19,59,71,72,73,81,92]