Вопрос задан 31.07.2023 в 16:14. Предмет Информатика. Спрашивает Сорвачева Анастасия.

Дана целочисленная матрица. Найти: 1) количество элементов, которые меньше среднего

арифметического всех элементов этой строки;2) максимальный положительный элемент матрицы.С++
0 0
Перейти к ответам

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

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

using namespace std;

int n, m, mat[1000][1000], avg[1000];
//вместо 1000 пиши максимальный размер матрицы по условию

int main() {
cin >> n >> m;
int s;
int cmax = 0;
for(int i = 0; i < n; ++i) {
s = 0;
for(int j = 0; j < m; ++j) {
cin >> mat[i][j];
s += mat[i][j];
if (mat[i][j] > cmax) cmax = mat[i][j];
}
avg[i] = s / m;
}

int cnt;
for(int i = 0; i < n; ++i) {
cnt = 0;
for(int j = 0; j < m; ++ j) {
if (mat[i][j] <= avg[i]) ++cnt;
}

cout << “Для строки номер » << i << « ответ равен: » << cnt;
}
cout << “максимальный положительный элемент: ” << cmax;

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

Для решения данной задачи вам потребуется написать программу на языке C++, которая будет искать указанные значения в целочисленной матрице. Ниже приведен код, выполняющий указанные действия:

cpp
#include <iostream> #include <vector> // Функция для поиска среднего арифметического элементов вектора double findAverage(const std::vector<int>& vec) { int sum = 0; for (int num : vec) { sum += num; } return static_cast<double>(sum) / vec.size(); } int main() { int rows, cols; std::cout << "Введите количество строк матрицы: "; std::cin >> rows; std::cout << "Введите количество столбцов матрицы: "; std::cin >> cols; std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols)); std::cout << "Введите элементы матрицы:" << std::endl; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { std::cin >> matrix[i][j]; } } // Поиск количества элементов, меньших среднего арифметического каждой строки std::vector<int> countElementsLessThanAverage; for (int i = 0; i < rows; ++i) { double rowAverage = findAverage(matrix[i]); int count = 0; for (int j = 0; j < cols; ++j) { if (matrix[i][j] < rowAverage) { count++; } } countElementsLessThanAverage.push_back(count); } // Поиск максимального положительного элемента матрицы int maxPositiveElement = INT32_MIN; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { if (matrix[i][j] > maxPositiveElement && matrix[i][j] > 0) { maxPositiveElement = matrix[i][j]; } } } // Вывод результатов std::cout << "Количество элементов, меньших среднего арифметического каждой строки:" << std::endl; for (int count : countElementsLessThanAverage) { std::cout << count << " "; } std::cout << std::endl; if (maxPositiveElement == INT32_MIN) { std::cout << "В матрице нет положительных элементов." << std::endl; } else { std::cout << "Максимальный положительный элемент матрицы: " << maxPositiveElement << std::endl; } return 0; }

Вы можете скопировать и вставить данный код в среду разработки C++ (например, Code::Blocks, Visual Studio, или другую) и запустить программу. После запуска вам нужно будет ввести количество строк и столбцов матрицы, а затем ввести элементы матрицы. Программа выведет количество элементов, меньших среднего арифметического каждой строки, а также максимальный положительный элемент матрицы.

0 0

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

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

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

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