Народ,помогите дорешать задачу ** С++,буду благодарен. - В целочисленном массиве Х(N)...

0 голосов
21 просмотров

Народ,помогите дорешать задачу на С++,буду благодарен.

- В целочисленном массиве Х(N) удалить все элементы, расположенные между максимальным и минимальным элементами.
- Найти среднее арифметическое элементов массива до и после удаления.
- В программе написать функции: удаления элемента, поиска номеров минимального и
максимального элементов, определения среднего арифметического
элементов массива.

из выше перечисленного выводит только средне арифметическое и средне арифметическое между 1 и последним числом.




#include
float srednee(int* a, int min, int max)
{
int s = 0;
for(int i = min; i <= max; i++)<br> s += a[i];
return s * 1.0 / (max - min + 1);
}
using namespace std;
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;
}
using namespace std;
int main()
{
int N;
cin >> N;
int X[N];

for(int i = 0; i < N; i++)
cin >> X[i];
cout << "srednee znachenie vsego massiva: " << srednee(X, 0, N - 1) << endl;<br> int min = min_i(X, N);
int max = max_i(X, N);
if(min > max)
{
int z = min;
min = max;
max = z;
}
if(max - min == 0 || max - min == 1)
cout << "srednee znachenie korotkogo massiva: " << srednee(X, 0, N - 1) << endl;<br> else
{
int delta = max - min;
for(int i = max; i < N; i++)
X[i - delta + 1] = X[i];
cout << "srednee znachenie korotkogo massiva: " << srednee(X, 0, N - delta) << endl;<br> system("pause");
return 0;
}
}


Информатика (339 баллов) | 21 просмотров
0

Что за #include в начале?

0

#include

0

вводится целое число N, затем N целых чисел в массиве Х. Затем подсчитывается среднее по всему массиву. Объявляются переменные min и max - номера минимального и максимального элементов. Но если min > max, то их надо поменять местами. Если min == max или они отличаются на единицу, то ничего удалять не надо, среднее остаётся неизменным. Иначе сдвигаем элементы после min на delta = max - min влево, считаем новое среднее арифметическое

Дан 1 ответ
0 голосов
Правильный ответ

Сделал пока часть, остальное завтра допишу


Скачать вложение Текст (TXT)
(454 баллов)
0

спасибо!!!

0

уж очень благодарен,но помогите уж как будет время)