Народ, написать программу на dev c++,объяснить) в отчете предоставить блок-схемы всех функций, текст программы. : в целочисленном массиве х(n) удалить все элементы, расположенные между максимальным и минимальным элементами. найти среднее арифметическое элементов массива до и после удаления. в программе написать функции: удаления элемента, поиска номеров минимального и максимального элементов, определения среднего арифметического элементов массива.

Marina52547 Marina52547    2   15.06.2019 07:00    0

Ответы
Animashka11 Animashka11  12.07.2020 14:03
#include<iostream>

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;
    }
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика