у меня есть файл с матрицей пХп, например, я получил эти цифры:неправильные номера для чтения из файла C++
3,162277660168379 4,110960958218893 7,58946638440411 -1.110223024625157e-016 +6,715653356152327 +6,224264086189961 -5.551115123125783e-016 -1.332267629550188e -015 +3,107818621696872
и получил код:
std::ifstream in("R.txt");
std::string line;
float B[4][4];
int u = 1, y = 1;
while (std::getline(in, line))
{
float value;
int y = 1;
std::stringstream ss(line);
while (ss >> value)
{
B[u][y] = value;
cout << setprecision(16) << B[u][y] << " ";
++y;
}
cout << endl;
++u;
}
и получить этот ответ, когда я пытаюсь вывести в моей командной строке:
3,162277698516846 4,110960960388184 7,589466571807861 -1.110223024625157e-016 +6,715653419494629 +6,224264144897461 -5.551115123125783e-016 -1.332267629550188e-015 3,107818603515625
Имеет any1 любая идея, почему мои номера неправильно читаемые? от 8-й цифры? :) Благодаря
потому, что вы читаете двойные значения в значения с плавающей точкой, так что они скруглятся? –
Кроме того, индексы массивов основаны на нуле. –