программа на с++ . помогите !
Задано масив чисел A(2n), n ≤ 200 . Разработать программу, которая рассчитывает Z = max( min(A(1)...A(2n)), min (A(2)...A(2n − 1)),...,min (A(n)...A(n + 1)) )
Ответы
Ответ:
#include <iostream>
#include <ctime>
using namespace std;
int main() {
srand(time(NULL));
int* mass;
int size;
int a1 = 200, a2 = 200, a3 = 200, Z;
cout << "enter size of mass" << endl;
cin >> size;
mass = new int[size * 2];
for (int i = 0; i < size * 2; i++)
{
mass[i] = rand() % 200;
}
for (int i = 0; i < size * 2; i++)
cout << *(mass + i) << "\t" << endl;
for (int j = 0; j < size * 2; j++)
if (mass[j] < a1)
a1 = mass[j];
for (int k = 1; k < 2 * size - 1; k++)
if (mass[k] < a2)
a2 = mass[k];
for (int h = size; h < size + 1; h++)
if (mass[h] < a3)
a3 = mass[h];
Z = max(a1, max(a2, a3));
cout << "min 1,2,3" << "\t" << a1 << "\t" << a2 << "\t" << a3 << endl;
cout << "max among min" << "\t" << Z;
delete[]mass;
return 0;
}
Объяснение:
знаходимо мінімум з 1,2 та 3 проміжку і шукаємо максимальне серед цих значень