Из того, что я могу собрать, ваша главная цель - сложить вместе две матрицы (представленные двумерными массивами) и сохранить результат в matrixC
, а также вывести его.Кажется, вы на правильном пути, для этого требуется лишь небольшая модификация.
Следующее изменение вашего кода должно помочь (используются только 2 для циклов):
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
matrixC[i][j] = matrixA[i][j] + matrixB[i][j];
cout << matrixC[i][j] << " ";
}
cout << endl;
}
Это должно добавить соответствующие ячейки matrixA
и matrixB
вместе и сохранить результат в matrixC
.Это также будет выведено.
РЕДАКТИРОВАТЬ: В свете новой информации (ваш комментарий под этим ответом), кажется, вам нужно вывести более одной из этих матриц, но все еще только с двумя
for
циклами.Решение простое: создайте функцию, которая выводит матрицу, и используйте ее всякий раз, когда вам нужно вывести ее:
void outputMatrix( int mtx[2][3] )
{
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
cout << mtx[i][j] << " ";
}
cout << endl;
}
}
Теперь, если вам нужно вывести matrixA
, тогда matrixB
затем matrixC
,просто сделайте это:
outputMatrix( matrixA );
outputMatrix( matrixB );
outputMatrix( matrixC );
Этот код не является действительно общим, поскольку он опирается на фиксированный размер массива 2x3.Но я пытаюсь сделать все проще для вас.
EDIT2: Решение без функций:
Создать 3 std::stringstream
s, по одному для каждогоматрица.Вместо того, чтобы выводить все сразу, мы будем буферизовать каждый выход матрицы отдельно, а затем выводить каждый последовательно.
std::stringstream mtxAOut, mtxBOut, mtxCOut;
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
matrixC[i][j] = matrixA[i][j] + matrixB[i][j];
mtxAOut << matrixA[i][j] << " ";
mtxBOut << matrixB[i][j] << " ";
mtxCOut << matrixC[i][j] << " ";
}
mtxAOut << endl;
mtxBOut << endl;
mtxCOut << endl;
}
// Now output...
cout << mtxAOut.str() << endl << mtxBOut.str() << endl << mtxCOut.str();
Я не знаю, что вы узнали или нет, есть много способов приблизитьсяэта проблема, и ваш инструктор, вероятно, лучше подойдет для совета здесь, особенно если вы должны использовать конкретную технику.