Вывод Результирующей Матрицы
В этом шаге вы научитесь форматировать и выводить результирующую матрицу в удобочитаемом виде.
Улучшение Функции Вывода Матрицы
Откройте предыдущий файл C:
cd ~/project
nano matrix_addition.c
Обновите программу с помощью отдельной функции вывода матрицы:
#include <stdio.h>
#define MAX_SIZE 10
// Функция для вывода матрицы
void printMatrix(int matrix[MAX_SIZE][MAX_SIZE], int rows, int cols, const char* matrixName) {
printf("%s:\n", matrixName);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%4d ", matrix[i][j]);
}
printf("\n");
}
printf("\n");
}
int main() {
int rows, cols;
int matrix1[MAX_SIZE][MAX_SIZE], matrix2[MAX_SIZE][MAX_SIZE], result[MAX_SIZE][MAX_SIZE];
// Предыдущий код ввода остается неизменным
// ... (ввод размеров и элементов матриц matrix1 и matrix2)
// Сложение соответствующих элементов
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
result[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
// Вывод матриц
printMatrix(matrix1, rows, cols, "First Matrix");
printMatrix(matrix2, rows, cols, "Second Matrix");
printMatrix(result, rows, cols, "Resulting Matrix (Matrix1 + Matrix2)");
return 0;
}
Компиляция и Запуск Программы
Скомпилируйте обновлённую программу:
gcc matrix_addition.c -o matrix_addition
Запустите программу:
./matrix_addition
Пример Вывода
Введите количество строк (макс. 10): 2
Введите количество столбцов (макс. 10): 3
Введите элементы первой матрицы:
Введите элемент [0][0]: 1
Введите элемент [0][1]: 2
Введите элемент [0][2]: 3
Введите элемент [1][0]: 4
Введите элемент [1][1]: 5
Введите элемент [1][2]: 6
Введите элементы второй матрицы:
Введите элемент [0][0]: 7
Введите элемент [0][1]: 8
Введите элемент [0][2]: 9
Введите элемент [1][0]: 10
Введите элемент [1][1]: 11
Введите элемент [1][2]: 12
First Matrix:
1 2 3
Second Matrix:
7 8 9
Resulting Matrix (Matrix1 + Matrix2):
8 10 12
14 16 18
Объяснение Кода
- Создана функция
printMatrix() для вывода матриц с согласованным форматированием
- Спецификатор формата
%4d обеспечивает выравнивание столбцов при выводе
- Функция принимает матрицу, размеры и имя в качестве параметров
- Матрицы выводятся с описательными заголовками
- Вложенные циклы перебирают элементы матрицы для вывода