Вопрос задан 16.07.2023 в 10:10. Предмет Информатика. Спрашивает Ягловская Елизавета.

Написать программу на C++ для решения следующей задачи: Вычислить z1=(xmax+ymin)/2 и

z2=(xmin+ymax)/2 где xmax и ymax – максимальные элементы массивов X(20), Y(30); xmin и ymin – минимальные элементы этих же массивов (вычисление максимального и минимально элементов массива осуществлять в одной подпрограмме).​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Назаров Олег.

// C++17

#include <iostream>

using namespace std;

void minmax(int a[], int n, int& min, int& max)

{

   min = max = a[0];

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

       if(a[i] < min)

           min = a[i];

       else if(a[i] > max)

           max = a[i];

}

void initmas(int a[], int n)

{

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

   {

       a[i] = rand() % 199 - 98;   // [-99,99]

       cout << a[i] << " ";

   }

   cout << endl;

}

int main()

{

   srand(time(0));

   int nx = 20, ny = 30;

   int x[nx], y[ny];

   cout << "Массив х\n";

   initmas(x, nx);

   cout << "Массив y\n";

   initmas(y, ny);

   int xmin, xmax, ymin, ymax;

   float z1, z2;

   minmax(x, nx, xmin, xmax);

   minmax(y, ny, ymin, ymax);

   z1 = (xmax + ymin) / 2.0;

   z2 = (xmin + ymax) / 2.0;

   cout << "z1 = " << z1 << ", z2 = " << z2;

   return 0;

}


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на C++, которая решает данную задачу:

cpp
#include <iostream> #include <limits> void findMinMax(int arr[], int size, int& minVal, int& maxVal) { minVal = std::numeric_limits<int>::max(); maxVal = std::numeric_limits<int>::min(); for (int i = 0; i < size; i++) { if (arr[i] < minVal) { minVal = arr[i]; } if (arr[i] > maxVal) { maxVal = arr[i]; } } } int main() { const int X_SIZE = 20; const int Y_SIZE = 30; int X[X_SIZE] = { /* Здесь должны быть значения элементов массива X */ }; int Y[Y_SIZE] = { /* Здесь должны быть значения элементов массива Y */ }; int xmin, xmax, ymin, ymax; findMinMax(X, X_SIZE, xmin, xmax); findMinMax(Y, Y_SIZE, ymin, ymax); double z1 = static_cast<double>(xmax + ymin) / 2.0; double z2 = static_cast<double>(xmin + ymax) / 2.0; std::cout << "z1 = " << z1 << std::endl; std::cout << "z2 = " << z2 << std::endl; return 0; }

Программа предполагает, что значения элементов массивов X и Y будут введены пользователем. Вы можете заполнить массивы X и Y нужными значениями перед вызовом функции findMinMax, либо использовать ввод с клавиатуры или другие способы получения значений.

Обратите внимание, что в этой программе предполагается, что в массивах X и Y будет по крайней мере один элемент. Если массивы могут быть пустыми, то перед вызовом функции findMinMax следует добавить проверку на пустой массив.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос