В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

На c ++
28. Подсчитать сумму элементов, расположенных между первым максимальным и последним минимальными элементами. Если максимальный элемент встречается позже минимального, то выдать сообщение об этом.

Показать ответ
Ответ:
MissKaprizz99
MissKaprizz99
18.08.2020 08:48

#include <iostream>

#include <ctime>

using namespace std;

void Max(int*& arr, int& size, int& maxi)

{

int max = 1;

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

{

 if (arr[i] > max)

 {

  maxi = i;

  break;

 }

}

}

void Min(int*& arr, int& size, int& mini)

{

int min = 10000;

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

{

 if (arr[i] < min)

 {

  min = arr[i];

  mini = i;

 }

}

}

void main()

{

srand(time(0));

setlocale(LC_ALL, "ru");

int Sum = 0;

bool after = 0;

int Maxi = 1;

int Mini = 1;

int size = 1;

cout << "Укажите размер массива - ";

cin >> size;

cout << endl;

int* arr = new int[size];

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

{

 arr[i] = 1 + rand() % 40;

 cout << arr[i] << "  ";

}

Max(arr, size, Maxi);

Min(arr, size, Mini);

if (Maxi > Mini)

 bool after = 1;

if (after)

{

 cout << "\n\nМаксимальный эл-т встречается после минимального\n";

 for (int i = Mini + 1; i < Maxi; i++)

 {

  Sum += arr[i];

 }

}

for (int i = Maxi + 1; i < Mini; i++)

{

 Sum += arr[i];

}

delete[]arr;

cout << "\nСумма = " << Sum << endl;

 

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота