Я пытаюсь создать таблицу двумерного массива в C ++ с циклом for, и это мой код ниже.
//receive user input
double nSideA = sSideA;
for( double x = nSideA; x < eSideA; x = x + incrementA){
cout << "a=" << fixed << setprecision(1) << setw(4) << nSideA << " ";
nSideA += incrementA;
} // table header
cout << "\n"; //spacing
for (double y = sSideB; y < eSideB; y = y + incrementB){
for( double x = sSideA; x < eSideA; x = x + incrementA){
sSideA += incrementA;
sSideB += incrementB;
hypo = sqrt( pow(sSideA,2) + pow(sSideB,2) );
cout << "b=" << fixed << setprecision(1) << setw(4) << sSideB << " ";
cout << fixed << setprecision(3) << setw(3) << hypo << " " << endl;
}} // content
Мой вывод для таблицы выглядит примерно так:
b= 2.0 2.828
b= 3.0 4.243
b= 4.0 5.657
b= 5.0 7.071
b= 6.0 8.485
b= 7.0 9.899
с b не зацикливается должным образом. (Все напечатано в колонке благодаря Фраксу в комментариях с endl;
)
Предполагается, что это программа, выполняющая теорему Пифагора. Я намерен, чтобы мой вывод был как
Однако во втором цикле результаты ошибаются, когда a[1][1]
заканчивается на a[1][0]
, a[2][2]
заканчивается на a[2][0]
и т. Д.
Как мне исправить цикл for
, чтобы он печатал правильную таблицу?
Спасибо.