По заданной матрице составить вектор, элементы которого равны произведениям элементов соответствующего столбца.
решение на с++:
//#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;
}
почему то не работает, но понять не могу что не так
#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 лежит ответ.