Вася разложил карточки с числами в следующем порядке 6 19 22 25 26 28 30 39 40 46 47 52 21 54 57 58 59 60 62 64 70 68 66 65 74 77 81 83 86 92 петя может поменять за один ход любые две карточки местами. какое минимальное количество ходов должен сделать петя, чтобы упорядочить числа на карточках по возрастанию?
begin
var a:=ArrRandomReal(ReadInteger('n='),10,30); a.Println;
Writeln('Наименьший элемент № ',a.IndexMin+1);
Writeln('Наибольший элемент № ',a.IndexMax+1);
var m:=a.Average;
var d:=a.Select((x,i)->(abs(x-m),i+1));
Writeln('Наименее отличается от среднего значения элемент № ',
(d.Min).Item2)
end.
Пример
n= 5
28.8975487271778 29.3922267944516 10.5457673969426 21.9476794693375 20.9330827234933
Наименьший элемент № 3
Наибольший элемент № 2
Наименее отличается от среднего значения элемент № 4
Программа, возможно, не совершенна (т.е. по-любому, можно было сделать короче), однако работает. Написана на Pascal, тестировал в веб-среде PascalABC.
var mo,tu,we,th,fr,sa,su,a: ShortInt;
var b: Real;
Begin
Write('Температура воздуха в Понедельник: ');
Readln(mo);
Write('Температура воздуха во Вторник: ');
Readln(tu);
Write('Температура воздуха в Среду: ');
Read(we);
Write('Температура воздуха в Четверг: ');
Readln(th);
Write('Температура воздуха в Пятницу: ');
Readln(fr);
Write('Температура воздуха в Субботу: ');
Readln(sa);
Write('Температура воздуха в Воскресенье: ');
Readln(su);
a:=mo+tu+we+th+fr+sa+su;
b:=a/7;
Write('Средняя температура воздуха: ',b:0:2,' градусов.');
End.