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

решение на с++:

//#include "stdafx.h"

#include

#include

#include

#include

#include

#include

using namespace std;

int main()

{

srand(time(0));

setlocale(lc_all, "russian");

int i, j, n,m, sum = 0;

cout « "ввод количества строк x= ";

cin » n;

cout « "ввод количества столбцов y= ";

cin » m;

int **matrix = new int*[n];

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

matrix[i] = new int[m];

int [id888077|*vector] = new int[m];

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

vector[i] = 1;

for (int i = 0; i
for (int j = 0; j

matrix[i][j] = rand()%10;

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

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

vector[j] *= matrix[i][j];

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

{

cout « "|" « vector[i];

cout « endl;

}

return 0;

}

почему то не работает, но понять не могу что не так

9570896123 9570896123    3   21.09.2019 18:28    8

Ответы
Посемуська Посемуська  08.10.2020 07:43

#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> ans;

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

   {

       int pr = 1;

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

       {

           pr *= matrix[j][i];

       }

       ans.push_back(pr);

   }

   for (auto x : ans)

   {

       cout << x << " ";

   }

return 0;

}

Значения элементов матрицы вводятся с клавиатуры. В векторе ans лежит ответ.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика