Проверено на Паскале АВС:
Program byalodenis;
uses crt;
const n=10;
var
e:array[1..n] of integer;
min,max,i: integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
writeln('Элементы массива:');
randomize;
e[1]:=random(100)-50;
write (e[1]:5);
max:=e[1];
min:=e[1];
for i:=2 to n do
begin
e[i]:=random(100)-50;
write (e[i]:5);
if e[i]>max then
max:=e[i];
if e[i]<min then
min:=e[i];
end;
writeln();
writeln('Сумма максимального и минимального элементов равна ',max+min);
end.
float average(int* a, int first, int last)
{
int s = 0;
for(int i = first; i <= last; ++i)
s += a[i];
return s * 1. / (last - first + 1);
}
int min_i(int* a, int n)
{
int m = a[0];
int numb = 0;
for(int i = 1; i < n; ++i)
if(m > a[i])
{
m = a[i];
numb = i;
}
return numb;
}
int max_i(int* a, int n)
{
int m = a[0];
int numb = 0;
for(int i = 1; i < n; ++i)
if(m < a[i])
{
m = a[i];
numb = i;
}
return numb;
}
int main()
{
int N;
std::cin >> N;
int X[N];
for(int i = 0; i < N; ++i)
std::cin >> X[i];
std::cout << "Average of whole array: " << average(X, 0, N - 1) << std::endl;
int first = min_i(X, N);
int last = max_i(X, N);
if(first > last)
{
int temp = first;
first = last;
last = temp;
}
if(last - first == 0 || last - first == 1)
std::cout << "Average of shorter array: " << average(X, 0, N - 1) << std::endl;
else
{
int delta = last - first;
for(int i = last; i < N; ++i)
X[i - delta + 1] = X[i];
std::cout << "Average of shorter array: " << average(X, 0, N - delta) << std::endl;
}
}