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

задача в pascale. дан массив. Найти минимальный элемент и отсортировать все элементы стоящие после него.

program odnomernui_massuv;
uses crt;
var A:array[1..100] of integer;
n,i,j,imin: byte;
buf:integer;
begin
write('Размер массива от 1 до 100 n=');
readln(n);
//ручной ввод массива
writeLn('Вводим элементы массива A:');
for I:=1 TO N do
begin
write('A[',i,']=');
readLn (A);
end;
//Вывод массива до изменения
writeLn('исходный массив A:');
for i:=1 to N do
write (A:5);
writeLn;
//поиск минимума в серии
imin:=1;
for i:=1 to N do
if A<a[imin]><a[j]>;
A:=A[j];
A[j]:=buf;
end;
writeln('Элементы после минимального отсортированы по убыванию: ');
for i:=1 to n do
write(A,' ');
end;
end.
Тимофей Фукс
Тимофей Фукс
1 198
Лучший ответ
const
Size = 100;
var
A : array [1..Size] of Integer;
N, Min, D, j, k : Integer;
begin
WriteLn('Исходный массив: ');
Randomize;
for N := 1 to Size do begin
A[N] := Random(100); Write(A[N]:3); if N mod 25 = 0 then WriteLn; end;
WriteLn;

Min := 1;
for N := 2 to Size do if A[N] < A[Min] then Min := N;
WriteLn('Минимальное значение A[', Min, '] = ', A[Min]);

for N := Min + 1 to Size do
begin
D := A[N];
j := N;
while (A[j - 1] > D) and (j > Min) do
begin
A[j] := A[j - 1];
Dec(j);
end;
A[j] := D;
end;

WriteLn('Результат: ');
for N := 1 to Size do begin
Write(A[N]:3); if N mod 25 = 0 then WriteLn; end;
WriteLn;
end.
за небольшое вознаграждение помощь гарантирована

Похожие вопросы