P
proger2030
Задание
Выполнить задачу распараллеливания алгоритма (на любом языке программирования.)
Дано 100 матриц и 100 векторов, умножение каждой матрицы на каждый вектор.
Пока решил так:
Да тут последовательно но... Хотя бы это)
У меня тут только умножает матрицу на вектор. А по заданию мне надо их по 100. Ребята помогите. Всем заранее спс.
Выполнить задачу распараллеливания алгоритма (на любом языке программирования.)
Дано 100 матриц и 100 векторов, умножение каждой матрицы на каждый вектор.
Пока решил так:
C++:
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <time.h>
int main()
{
const int straka = 2;
const int stolbes = 2;
const int kordinat = 2;
char AnswerForM;
char AnswerForV;
int MasA[straka][stolbes];
int VectorB[straka];
int Solution[straka];
srand(time(NULL));
for(int i = 0; i < straka; i++)
{
for(int j = 0; j < stolbes; j++)
{
MasA[i][j] = rand()%100 + 1;
}
}
//Иницализация векторов
for(int i = 0; i < straka; i++) {VectorB[i] = rand()%50 + 1;}
//Вывод матриц
std::cout << "Pokazat ishodnoi matrisu? (najmite y ili Y): ";
std::cin >> AnswerForM;
if(AnswerForM == 'y' || AnswerForM == 'Y')
{
std::cout << "Ishodnoi matrix: \n";
for(int i = 0; i < straka; i++)
{
for(int j = 0; j < stolbes; j++)
{
std::cout << MasA[i][j] << ' ';
}
std::cout << std::endl;
}
}
std::cout << "Pokazat kordinaty vectorov?: ";
std::cin >> AnswerForV;
if( AnswerForV == 'y' || AnswerForV == 'Y')
{
for(int i = 0; i < straka; i++)
{
std::cout << VectorB[i] << ' ';
}
std::cout << "Vector: "<< KolMas << "\)" << std::endl;
std::cout << std::endl;
}
//Расчеты. Умнажаем матрицу на вектор
for(int j = 0; j < straka; j++)
{
Solution[j] = 0;
for(int i = 0; i < stolbes; i++)
Solution[j] += MasA[j][i]*VectorB[i];
}
//Вывод решения
for(int i = 0; i < straka; i++)
std::cout << i << ' ' << Solution[i] << std::endl;
return 0;
Да тут последовательно но... Хотя бы это)
У меня тут только умножает матрицу на вектор. А по заданию мне надо их по 100. Ребята помогите. Всем заранее спс.