Для вывода матрицы на экран нужно вывести элементы каждой строки и каждого столбца, причём элементы разных строк матрицы должны быть расположены на разных строках и на экране. Таким образом, необходимо сделать следующее:
<Вывести первую строку>
cout << endl;
<Вывести вторую строку>
cout << endl;
<Вывести третью строку>
cout << endl;
<Вывести четвёртую строку>
cout << endl;
Вспомним, что индексы массива нумеруются с нуля, поэтому строки и столбцы матрицы также нумеруются с нуля. Значит, вывод матрицы можно произвести так:
for (int j=0; j<n; j++) {
cout << matrix[0][j] << " ";
}
cout << endl;
for (int j=0; j<n; j++) {
cout << matrix[1][j] << " ";
}
cout << endl;
for (int j=0; j<n; j++) {
cout << matrix[2][j] << " ";
}
cout << endl;
for (int j=0; j<n; j++) {
cout << matrix[3][j] << " ";
}
cout << endl;
Здесь элементы одной строки при выводе на экран разделены пробелами. Наконец, заметим, что данные четыре цикла различаются только номером строки, поэтому их можно поместить во внешний цикл, в котором переменная-счётчик будет означать номер строки (за номер столбца отвечает переменная-счётчик внутреннего цикла):
for (int i=0; i<m; i++) {
for (int j=0; j<n; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
Результат работы этой программы выглядит так:
Обратите особое внимание на то, что пробел выводится во внутреннем цикле, а перенос на новую строку – во внешнем. Для лучшего понимания данного вопроса поэкспериментируйте с этими разделителями.