Вопрос задан 24.11.2023 в 14:00. Предмет Информатика. Спрашивает Богатырёв Александр.

Обчислити вектор добуктів ненульових елементів стовпців матриці на с++

0 0
Перейти к ответам

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

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

#include <iostream>

using namespace std;

void execute_dobutok(int arr[3][6], int arr1[6], const int n, const int m) {

   int dobutok = 1;

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

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

           if (arr[i][j] != 0) {

               dobutok *= arr[i][j];

               arr1[j] = dobutok;

           }

       }

   }

   cout << "Result ";

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

       cout << arr1[i] << "\t";

   }

}

int main() {

   const int n = 3, m = 6;

   int arr[n][m], arr1[m];

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

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

           cin >> arr[i][j];

       }

   }

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

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

           cout << arr[i][j] << "\t";

       cout << endl;

   }

   execute_dobutok(arr, arr1, n, m);

   return 0;

}

0 0
Отвечает Головачёв Даня.

Ответ:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

int n, m;

cin >> n >> m;

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

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

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

  cin >> matrix[i][j];

vector<int> result(m);

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

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

  if (matrix[i][j] != 0)

   result[j]++;

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

 cout << result[i] << " ";

return 0;

}

Объяснение:

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

Чтобы вычислить вектор добутков ненулевых элементов столбцов матрицы, сначала необходимо найти все ненулевые элементы в каждом столбце матрицы, а затем перемножить их.

Пусть дана матрица A размером m x n, где m - количество строк, n - количество столбцов.

1. Найдем все ненулевые элементы в каждом столбце матрицы A. - Проходимся по каждому столбцу матрицы A с помощью внешнего цикла для переменной j от 1 до n. - Внутри внешнего цикла проходимся по каждому элементу столбца с помощью внутреннего цикла для переменной i от 1 до m. - Если элемент A[i][j] не равен нулю, добавляем его в список ненулевых элементов столбца.

2. Перемножим все ненулевые элементы каждого столбца. - Создаем вектор добутков размером n, инициализируем его единицами. - Проходимся по каждому столбцу матрицы A с помощью внешнего цикла для переменной j от 1 до n. - Внутри внешнего цикла проходимся по каждому ненулевому элементу столбца с помощью внутреннего цикла для переменной k от 1 до длины списка ненулевых элементов столбца. - Умножаем текущий элемент вектора добутков на текущий ненулевой элемент столбца: vector_dobutkiv[j] *= nenulezni_elementi_stovptsya[k].

3. Получаем вектор добутков ненулевых элементов столбцов матрицы A.

Пример:

Пусть дана матрица A размером 3 x 4: A = [[0, 2, 0, 4], [0, 0, 1, 0], [3, 0, 0, 5]]

1. Найдем все ненулевые элементы в каждом столбце матрицы A: - Для столбца 1: [3] - Для столбца 2: [2] - Для столбца 3: [1] - Для столбца 4: [4, 5]

2. Перемножим все ненулевые элементы каждого столбца: - Для столбца 1: 3 - Для столбца 2: 2 - Для столбца 3: 1 - Для столбца 4: 20 (4 * 5)

3. Вектор добутков ненулевых элементов столбцов матрицы A: [3, 2, 1, 20]

0 0

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

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

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

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