Добрый вечер! Помогите, пожалуйста, разобраться с задачей и ее реализацией:
Нужно создать файл и заполнить его рандомными числами через пробел, после из этого файла сгенерировать матрицу A (например 10х10), затем перезаписать этот файл новыми рандомными значениями и сгенерировать вторую матрицу B из этого же файла, а после эти матрицы перемножить и результирующую матрицу C записать в файл (например resultMatrix.txt). Мне плюс-минус все понятно, но столкнулась со сложностью передачи матриц А и B в функцию matrixMultiply для их перемножения. Помогите, пожалуйста, разобраться. Ниже прилагаю код того функционала, который я уже реализовала.
p.s.: функция произведения матриц закомментирована, так как в нее ничего не передается и с этим у меня проблемы.
Заранее спасибо за потраченное время.
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>
#include <string>
using namespace std;
ofstream outputFile;
int n = 100;
int random_integer;
void fileCreating()
{
for (int i = 0; i < n; i++)
{
random_integer = (rand() % 10);
outputFile << random_integer << " ";
}
outputFile.close();
}
void matrixCreating()
{
const int n = 10;
int a[n][n];
fstream fs("fileTest.txt");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
fs >> a[i][j];
cout << a[i][j]<<" ";
}
cout << endl;
}
fs.close();
}
void fileReading()
{
string line;
ifstream myfile("fileTest.txt");
if (myfile.is_open())
{
while (getline(myfile, line))
{
cout << line << endl;
}
cout << endl;
myfile.close();
}
else cout << "Unable to open file";
}
//void matrixMultiply()
//{
// for (i = 0; i < m; i++)
// for (j = 0; j < q; j++)
// {
// C[i][j] = 0;
// for (k = 0; k < n; k++)
// C[i][j] += A[i][k] * B[k][j];
// }
//}
int main()
{
outputFile.open("fileTest.txt");
fileCreating();
fileReading();
matrixCreating();
cout << endl;
system("pause");
}