Написать программу вычитания двух матриц размерности M⨯N - C (СИ)
Формулировка задачи:
Погуглив я сделал программку вычитания 2х матриц размером 2х2, но не могу понять как сделать чтоб размер у матриц был задаваемый.
#include <stdio.h> #include <stdlib.h> #include <conio.h> #define N 3 #define M 2 int **Add(int **a, int **b) { int i,j; int **tmp = (int**)malloc(sizeof(int*) * N); for(i = 0; i < N; i++) { tmp[i] = (int*)malloc(sizeof(int) * M); for(j = 0; j < M; j++) tmp[i][j] = a[i][j] - b[i][j]; } return tmp; } int main() { int **a = (int**)malloc(sizeof(int*) * N); int **b = (int**)malloc(sizeof(int*) * N); int i,j; for(i = 0; i < N; i++) { a[i] = (int*)malloc(sizeof(int) * M); for(j = 0; j < M; j++) { printf("Input please A[%d][%d]: ", i, j); scanf("%d",&a[i][j]); } } for(i = 0; i < N; i++) { b[i] = (int*)malloc(sizeof(int) * M); for(j = 0; j < M; j++) { printf("Input please B[%d][%d]: ", i, j); scanf("%d",&b[i][j]); } } printf("\n"); for(i = 0; i < N; i++) { for(j = 0; j < M; j++) printf("%5d",a[i][j]); printf("\n"); } printf("\n"); for(i = 0; i < N; i++) { for(j = 0; j < M; j++) printf("%5d",b[i][j]); printf("\n"); } int **ab = Add(a,b); printf("\n"); for(i = 0; i < N; i++) { for(j = 0; j < M; j++) printf("%5d",ab[i][j]); printf("\n"); } getch(); return 0; }
Решение задачи: «Написать программу вычитания двух матриц размерности M⨯N»
textual
Листинг программы
printf("Введите N строк: "); scanf("%d", &N); printf("Введите M столбцов: "); scanf("%d", &M);
Объяснение кода листинга программы
- Программа запрашивает у пользователя ввод количества строк и столбцов для матрицы.
- Переменная N используется для хранения количества строк.
- Переменная M используется для хранения количества столбцов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д