Хорошие! У меня есть проблемы с выставленной ошибкой, когда я пробую умножать массив A с вектором xk. Массив A я беру ее внешнего файла ввода. Кто-то умел бы говорить мне, как упорядочивать это?. Большое спасибо заранее! Я присоединяю интересные части кода:
Matrix <double> A,B,C;
Vector <double> xk[9] = {27.0000, -0.000901816789824, 0, 0, 0, 0,0, -0.000901816789824 , 0};
int f,j,n, m, p,a,b,b2,c,tam;
double sum_aux=0;
a = 9;
A.resize(a, a);
//Para matriz A
{
getline(myfile, line);
std::istringstream is(line);
for (int i = 0; i < a; i++)
for (int j = 0; j < n; j++)
is >> A[i][j] >> ch;
}
for(f=1;f<=a;f++){
sum_aux=0;
for(j=1;j<=a;j++){
sum_aux=(double)A[f][j]*xk[j];
sum_aux=sum_aux + (double)A[f][j+1]*xk[j+1];
}
xk_aux[j]=sum_aux;
}
Может быть, ты мог бы пытаться с простыми примерами. Также ты можешь пытаться делать доступы с функциями книжного магазина вектор в C ++, например функция "at". Протестируй код, похожий на следующего:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<double> xk(9);
xk.resize(9);
xk.at(0)=27;
xk.at(1)=0;
xk.at(2)=0;
xk.at(3)=0;
xk.at(4)=0;
xk.at(5)=0;
xk.at(6)=0;
xk.at(7)=0;
xk.at(8)=0;
/* Ejemplo de multiplicación. */
double res = 0.0;
res = 2*xk.at(0);
cout << res << endl;
return 0;
}
Привет!