Вопрос задан 08.07.2023 в 16:35. Предмет Информатика. Спрашивает Gertsan Katya.

Напишите программу на С++ пожалуйста Дана целочисленная прямоугольная матрица. Определить: а)

количество строк, не содержащих ни одного нулевого элемента; б) максимальное из чисел, встречающихся в заданной матрице более одного раза. ещё нужно скрины работы программы
0 0
Перейти к ответам

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

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

а)

#include <iostream>

#include <vector>

using namespace std;

bool is_any_nulls(vector<int> vec){

   for(int i: vec)

       if(i == 0)

           return true;

   return false;

}

signed main() {

   int n,m;

   cin >> n >> m;

   vector<vector<int>> a(n);

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

       vector<int> temp(m);

       for(int &j: temp)

           cin >> j;

       a[i] = temp;

   }

   int cnt = 0;

   for(vector<int> i: a)

       if(!is_any_nulls(i))

           cnt++;

   cout << cnt;

}

б)

#include <iostream>

#include <vector>

#include <map>

using namespace std;

signed main() {

   int n, m;

   cin >> n >> m;

   map<int,int> mp;

   vector<vector<int>> a(n);

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

       vector<int> temp(m);

       for (int &j: temp){

           cin >> j;

           mp[j]++;

       }

       a[i] = temp;

   }

   int mx = -INT_MAX;

   for(auto i: mp)

       if(i.first > mx && i.second > 1)

           mx = i.first;

   cout << mx;    

}

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

Конечно, вот пример программы на C++, которая выполняет указанные вами задачи:

cpp
#include <iostream> #include <vector> #include <unordered_map> 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)); for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { std::cout << "Введите элемент [" << i << "][" << j << "]: "; std::cin >> matrix[i][j]; } } // а) Подсчет строк без нулевых элементов int rowsWithoutZeros = 0; for (int i = 0; i < rows; ++i) { bool hasZero = false; for (int j = 0; j < cols; ++j) { if (matrix[i][j] == 0) { hasZero = true; break; } } if (!hasZero) { rowsWithoutZeros++; } } std::cout << "Количество строк без нулевых элементов: " << rowsWithoutZeros << std::endl; // б) Поиск максимального числа, встречающегося более одного раза std::unordered_map<int, int> numFrequency; int maxRepeatedNumber = -1; for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { numFrequency[matrix[i][j]]++; if (numFrequency[matrix[i][j]] > 1 && (maxRepeatedNumber == -1 || numFrequency[matrix[i][j]] > numFrequency[maxRepeatedNumber])) { maxRepeatedNumber = matrix[i][j]; } } } if (maxRepeatedNumber != -1) { std::cout << "Максимальное число, встречающееся более одного раза: " << maxRepeatedNumber << std::endl; } else { std::cout << "В матрице нет чисел, встречающихся более одного раза." << std::endl; } return 0; }

Чтобы выполнить эту программу, скопируйте код выше, вставьте его в файл с расширением .cpp и скомпилируйте с помощью компилятора C++. После запуска программы, вам будет предложено ввести размер матрицы и её элементы. Программа выведет результаты для обеих задач.

К сожалению, я не могу предоставить скриншоты работы программы, так как моя текущая среда не поддерживает графические возможности.

0 0

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

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

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

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