Вопрос задан 22.06.2023 в 06:39. Предмет Информатика. Спрашивает Сабенин Илья.

C++ Отдал все балы нужно для курса Создайте программу в которой вы будете заполнятьдвумерный

вектор случайными числами(от 10 до 99).Размеры массива задает пользователь. Вы должнывывести заполненный массив на экран. После этоговыполнить три действия:а. Найти самое большое и самое маленькое число вмассиве и вывести их на экран.б. Нужно суммировать все значения которые больше 55и являются непарными и вывести результат на экран.в. Найти среднее арифметическое число всех парныхэлементов массива и вывести результат на экран.​
0 0
Перейти к ответам

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

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

Проверил, вроде всё правильно написал.

P. S. Сначала вводится ширина 2д вектора, а потом его высота. И ещё для удобства я создал ссылку с именем 'c', которая равняется текущему элементу вектора в цикле (чтобы не обращаться каждый раз v[i][j], а просто c). И для переменной minel (которая будет хранить минимальное значение) изначальное значение я задал 100, но можно и другое, которое > 99.

#include <iostream>

#include <vector>

#include <ctime>

using namespace std;

int main(){

   srand(time(NULL));

   int n, m, minel(100), maxel(0), s55(0), c2n(0);

   float m2n(0);

   bool isEven = false;

   cin >> m >> n;

   vector<vector<int>> v(n, vector<int>(m));

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

       for (int j(0); j < m; j++){

           v[i][j] = 10 + rand() % 90;

           cout << v[i][j] << ' ';

       }

       cout << endl;

   }

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

       for (int j(0); j < m; j++) {

           const int& c = v[i][j];

           if(minel > c)

               minel = c;

           if(maxel < c)

               maxel = c;

           if( c > 55 && c % 2 != 0)

               s55 += c;

           if(isEven){

               m2n += c;

               c2n++;

           }

           isEven = 1 xor isEven;

       }

   }

   m2n /= c2n;

   cout << "Min: " << minel << endl << "Max: " << maxel << endl;

   cout << "Sum of odd nums > 55: " << s55 << endl;

   cout << "Mean of nums of even indexes: " << m2n;

   return 0;

}

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

Конечно, вот пример программы на C++, реализующей описанные вами требования:

cpp
#include <iostream> #include <vector> #include <cstdlib> #include <ctime> int main() { // Задаем размеры массива int rows, cols; std::cout << "Введите количество строк: "; std::cin >> rows; std::cout << "Введите количество столбцов: "; std::cin >> cols; // Инициализируем генератор случайных чисел std::srand(std::time(0)); // Создаем двумерный вектор и заполняем его случайными числами от 10 до 99 std::vector<std::vector<int>> arr(rows, std::vector<int>(cols)); std::cout << "Двумерный массив:\n"; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { arr[i][j] = std::rand() % 90 + 10; // случайное число от 10 до 99 std::cout << arr[i][j] << " "; } std::cout << "\n"; } // Найти самое большое и самое маленькое число в массиве int maxNum = arr[0][0]; int minNum = arr[0][0]; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { if (arr[i][j] > maxNum) maxNum = arr[i][j]; if (arr[i][j] < minNum) minNum = arr[i][j]; } } std::cout << "Наибольшее число в массиве: " << maxNum << "\n"; std::cout << "Наименьшее число в массиве: " << minNum << "\n"; // Суммировать значения больше 55 и являющиеся непарными int sumAbove55Odd = 0; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { if (arr[i][j] > 55 && arr[i][j] % 2 != 0) sumAbove55Odd += arr[i][j]; } } std::cout << "Сумма значений больше 55 и непарных: " << sumAbove55Odd << "\n"; // Найти среднее арифметическое всех парных элементов массива int countEven = 0; int sumEven = 0; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { if (arr[i][j] % 2 == 0) { sumEven += arr[i][j]; countEven++; } } } double averageEven = static_cast<double>(sumEven) / countEven; std::cout << "Среднее арифметическое парных элементов: " << averageEven << "\n"; return 0; }

Эта программа создает двумерный вектор заданных размеров, заполняет его случайными числами от 10 до 99, выводит его на экран, затем выполняет указанные вами действия a, b и c.

0 0

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

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

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

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