Здравствуйте, я работаю над преобразованием алгоритма шифрования, который я написал, из java в C ++, однако я не могу понять умножение матриц в C ++.У меня есть библиотека lapacke, и я генерирую двумерные массивы, заполненные двойными числами, в качестве матрицы для операций преформ, но как мне предварительно отформатировать фактические операции над моими массивами.
Найдите ниже то, что у меня есть:
#include <iostream>
#include <string>
#include <vector>
#include <iostream>
#include "include/lapacke.h"
using namespace std;
class construct {
public:
string* load(string key) {
string* kfb[] = split(key, "/");
return kfb;
}
double** hologram(string blueprint) {
string* baseArray = split(blueprint, ";");
int size = *(&baseArray + 1) - baseArray;
double** cluster = new double[size][10];
for (int i = 0; i <= size - 1; i++) {
string* temp = split(baseArray[i], ",");
int tmpsize = *(temp + 1) - temp;
for (int n = 0; n <= tmpsize - 1; n++) {
cluster[i][n] = (double) temp[n];
}
}
int rows = sizeof cluster / sizeof cluster[0];
int cols = sizeof cluster[0] / sizeof(cluster);
return cluster;
}
vector<string> split(string str, string token) {
vector<string>result;
while (str.size()) {
int index = str.find(token);
if (index != string::npos) {
result.push_back(str.substr(0, index));
str = str.substr(index + token.size());
if (str.size() == 0)result.push_back(str);
}
else {
result.push_back(str);
str = "";
}
}
return result;
}
}