Помогите написать программу в C++.

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

Помогите написать программу в C++.


image

Информатика | 23 просмотров
Дан 1 ответ
0 голосов

Файл ввода должен иметь название input, или же заменить его название в строке ifstream l(название файла в кавычках)
Будут вопросы по коду - задавай в комментарии.


#include
#include
using namespace std;


double ans;

int main()
{
    int N;
    ifstream l("input.txt");
    l >> N;
    setlocale( LC_ALL,"Russian" );
    vector a(N);
    for (int i = 0; i < N; ++i)
        l >> a[i];
    if (N < 0)return 0;
    for (int i = 0; i < N; ++i)
        if (a[i] < 0)
            ans += a[i];
    if (ans != 0) cout << "Сумма не отрицательных элементов равна " << ans << endl;<br>    else cout << "Отрицательных элементов нет" << endl;<br>    double Min = *min_element(a.begin(), a.end());
    double Max = *max_element(a.begin(), a.end());
    int iMin = -1, iMax = - 1;
    for (int i = 0; i < N; ++i)
    {
        if (a[i] == Min && iMin == -1)iMin = i;
        if (a[i] == Max)iMax = i;
    }
    if (abs(iMax - iMin) -1 > 0 )
        {
        double res = 1;
        for (int i = 1 + min(iMax, iMin); i < max(iMax, iMin); i++)
                res *= a[i];
        cout << "Произведение элементов массива, расположенных между максимальным и минимальным элементами, равно " << res;<br>        }
    else
        cout << "Между максимальным и минимальным элементами нет чисел";<br>
}

(8.8k баллов)