Осуществить сложение двух случайных матриц - C (СИ)
Формулировка задачи:
1. Осуществить сложение двух случайных матриц 2. Задать массив случайных чисел размера M на М. Вывести на экран и рассчитать определитель этой матрицы 3. Создать массив G случайных чисел размера M на М. Удалить из него строку номер которой вводится с клавиатуры.
Решение задачи: «Осуществить сложение двух случайных матриц»
textual
Листинг программы
#include <stdio.h>
#define LINE 3
#define COLUMNS 3
void enter_matr(int matr[][COLUMNS]){
for(int i = 0; i < LINE; ++i)
for(int j = 0; j < COLUMNS; ++j){
printf("\n\tmatr[%d][%d] -> ", i, j );
scanf("%d", &matr[i][j]);
}
}
void print_matr(int matr[][COLUMNS]){
for(int i = 0; i < LINE; ++i){
for(int j = 0; j < COLUMNS; ++j)
printf(" %d ", matr[i][j]);
printf("\n");
}
}
void sum_matr(int matr[][COLUMNS], int _matr[][COLUMNS]){
for(int i = 0; i < LINE; ++i){
for(int j = 0; j < COLUMNS; ++j){
int tmp = matr[i][j] + _matr[i][j];
printf(" %d ", tmp);
}
printf("\n");
}
}
int main(void){
int matr[LINE][COLUMNS], _matr[LINE][COLUMNS];
printf("Enter first matrix: ");
enter_matr(matr);
printf("\nEnter second matrix: ");
enter_matr(_matr);
printf("\nFirst matrix: \n");
print_matr(matr);
printf("\nSecond matrix: \n");
print_matr(_matr);
printf("\nMultiplication matrix: \n");
multi_matr(matr, _matr);
return 0;
}
Объяснение кода листинга программы
Код представляет собой программу для сложения двух матриц.
- #include
- подключает стандартную библиотеку ввода-вывода. - #define LINE 3 - определяет количество строк в матрице.
- #define COLUMNS 3 - определяет количество столбцов в матрице.
- void enter_matr(int matr[][COLUMNS]){ - функция для ввода значений матрицы.
- for(int i = 0; i < LINE; ++i) - цикл по строкам матрицы.
- for(int j = 0; j < COLUMNS; ++j){ - цикл по столбцам матрицы.
- printf(
\n\tmatr[%d][%d] ->, i, j ); - вывод номера строки и столбца. - scanf(
%d, &matr[i][j]); - ввод значения в матрицу. - void print_matr(int matr[][COLUMNS]){ - функция для вывода значений матрицы.
- for(int i = 0; i < LINE; ++i){ - цикл по строкам матрицы.
- for(int j = 0; j < COLUMNS; ++j) - цикл по столбцам матрицы.
- printf(
%d, matr[i][j]); - вывод значения матрицы с пробелом. - printf(
\n); - переход на новую строку. - void sum_matr(int matr[][COLUMNS], int _matr[][COLUMNS]){ - функция для сложения двух матриц.
- for(int i = 0; i < LINE; ++i){ - цикл по строкам матрицы.
- for(int j = 0; j < COLUMNS; ++j){ - цикл по столбцам матрицы.
- int tmp = matr[i][j] + _matr[i][j]; - сложение значений матриц.
- printf(
%d, tmp); - вывод промежуточного значения с пробелом. - printf(
\n); - переход на новую строку. - int main(void){ - главная функция программы.
- int matr[LINE][COLUMNS], _matr[LINE][COLUMNS]; - объявление матриц.
- printf(
Enter first matrix:); - приглашение для ввода первой матрицы. - enter_matr(matr); - вызов функции для ввода первой матрицы.
- printf(
\nEnter second matrix:); - приглашение для ввода второй матрицы. - enter_matr(_matr); - вызов функции для ввода второй матрицы.
- printf(
\nFirst matrix: \n); - приглашение для вывода первой матрицы. - print_matr(matr); - вызов функции для вывода первой матрицы.
- printf(
\nSecond matrix: \n); - приглашение для вывода второй матрицы. - print_matr(_matr); - вызов функции для вывода второй матрицы.
- printf(
\nMultiplication matrix: \n); - приглашение для вывода суммы матриц. - sum_matr(matr, _matr); - вызов функции для сложения матриц.
- return 0; - завершение программы.