Консультация № 197149
20.11.2019, 09:42
0.00 руб.
0 1 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:Поменять местами самый левый минимальный элемент со
вторым элементом массива, а затем поделить на найденное
минимальное значение все элементы второй половины
массива.Через процедуру и сортировку.Pascal

Обсуждение

давно
Профессор
401888
1232
20.11.2019, 13:20
общий
это ответ
Здравствуйте, kondrat322!
[code lang=pascal]type mas=array[1..100] of real;
procedure vvod(var a:mas;var n:integer);
var i:integer;
begin
repeat
write('Введите размер массива четное число от 4 до 100 n=');
readln(n);
until(n in [4..100])and(n mod 2=0);
for i:=1 to n do
a[i]:=9*random;
end;
procedure vyvod(a:mas;n:integer;s:string);
var i:integer;
begin
writeln(s);
for i:=1 to n do
write(a[i]:5:2);
writeln;
end;
procedure min(a:mas;n:integer;var imn:integer);
var i:integer;
begin
imn:=1;
for i:=2 to n do
if a[i]<a[imn] then imn:=i;
writeln('Первый минимальный элемент=',a[imn]:0:2,' его номер=',imn);
end;
procedure obmen(var a:mas;n,imn:integer);
var x:real;
begin
if imn<>2 then
begin
x:=a[imn];
a[imn]:=a[2];
a[2]:=x;
end;
end;
var a:mas;
n,imn:integer;
begin
randomize;
vvod(a,n);
vyvod(a,n,'Исходный массив');
min(a,n,imn);
obmen(a,n,imn);
vyvod(a,n,'Обмен минимального и второго элементов')
end.[/code]
Форма ответа