Написать программу вычитания двух матриц размерности 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);

Объяснение кода листинга программы

  1. Программа запрашивает у пользователя ввод количества строк и столбцов для матрицы.
  2. Переменная N используется для хранения количества строк.
  3. Переменная M используется для хранения количества столбцов.

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы