Написать программу вычитания двух матриц размерности 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 используется для хранения количества столбцов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д