Есть ответ 👍

на C++ Домашнее задание
Петя успевает по математике лучше всех в классе, поэтому учитель задал ему сложное домашнее задание, в котором нужно в заданном наборе целых чисел найти сумму всех положительных элементов, затем найти где в заданной последовательности находятся максимальный и минимальный элемент и вычислить произведение чисел, расположенных в этой последовательности между ними. Так же известно, что минимальный и максимальный элемент встречаются в заданном множестве чисел только один раз и не являются соседними. Поскольку задач такого рода учитель дал Пете около ста, то Петя как сильный программист смог написать программу, которая по заданному набору чисел самостоятельно находит решение. А Вам слабо?

Входные данные

В первой строке записано единственное число N (N≤15) — количество элементов массива. Вторая строка содержит N целых чисел, представляющих заданный массив. Все элементы массива разделены пробелом. Каждое из чисел во входном файле, в том числе и N, не превышает 20 по абсолютной величине.

Выходные данные

В единственную строку нужно вывести два числа, разделенных пробелом: сумму положительных элементов и произведение чисел, расположенных между минимальным и максимальным элементами. Значения суммы и произведения не превышают по модулю 106.

207
383
Посмотреть ответы 2

Ответы на вопрос:

yulia6263
4,7(47 оценок)

#include <bits/stdc++.h>

using namespace std;

int main()

{

   int n;

   cin >> n;

   int a[n],b[n],mn = 100000, mx = 0, oko = 0,sum = 0;

   for(int i = 0; i < n; i++)

   {

       cin >> a[i];

       if(a[i] >= 0)

       {

           b[oko] = a[i];

           oko++;

       }

   }

   int index_of_minimum = 15, index_of_maximum = 0;

   for(int i = 0; i < oko; i++)

   {

       if(mn > b[i])

       {

           mn = min(mn,b[i]);

           index_of_minimum = min(index_of_minimum,i);

       }

       if(mx < b[i])

       {

           mx = max(mx,b[i]);

           index_of_maximum = i;

       }

   }

   for(int i = index_of_minimum; i < index_of_maximum + 1; i++)

   {

       sum += b[i];

   }

   mx = b[index_of_maximum - 1];

   mn = b[index_of_minimum];

   cout << sum << ' ' << mx * mn;

   

   return 0;

}


Количество событий было равно двум в девятой степени или 512.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS