На c ++ 28. Подсчитать сумму элементов, расположенных между первым максимальным и последним минимальными элементами. Если максимальный элемент встречается позже минимального, то выдать сообщение об этом.
Для решения всех задач используется формула S = v*t, где S - объем файла, v - скорость передачи файла, t - время передачи. 1. 4 Мбайта = 4*1024 Кбайт = 4096 Кбайт S1 = v*t1, S2 = v*t2 S2 = (S1/t1)*t2 = (4096/100)*75 = 3072 Кбайт
#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;
}
Объяснение: