Дан массив из N элементов. Поменять местами первый наибольший элемент с последним наименьшим. Например исходный массив 10, 9, 10,5,5. Результат работы 5, 9, 10, 5,10.
0. Начало 1. Ввод - Гвозди, картина молоток, стена 2. Операция - Прибить гвоздь к стене при молотка 3. Условие - Гвоздь прибит к стене? Нет->Повторить пункт 2; Да->Переходим к пункту 4 4. Повесить картину на гвоздь 5. Конец
Ну это если не заморачиваться с условиями. К примеру можно после 4 пункта поставить условие на проверку положения картины, т.е Картина висит прямо? ->Нет то Действие выровнять положение картины; Да->Конец
UPD: Ещё можно создать условие на состояние гвоздя - погнутый или целый, вытаскивание погнутого гвоздя и т.д.
Вообще то, это задача чисто математическая. Пусть есть трехзначное число abc. По условию:
abc + abc
bca Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений: 2c = a +16 2b +1 = c + 16 2a + 1 = b равносильная ей система 2с = a + 16 c = 2b - 15 b = 2a + 1 подставляем третье во второе, получаем первые два уравнения 2с = a + 16 c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13 13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16) -> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
var
n,max,min,i:integer;
a:array of integer;
begin
readln(n);
setlength(a,n);
max:=0; min:=0;
for i:=0 to n-1 do
begin
readln(a[i]);
if a[i]>a[max] then
max:=i
else
if a[i]<=a[min] then
min:=i;
end;
i:=a[max];
a[max]:=a[min];
a[min]:=i;
for i:=0 to n-1 do
write(a[i]:4);
end.