StudyLover
  • Home
  • Study Zone
  • Profiles
  • Typing Tutor
  • Contact us
  • Sign in
StudyLover Program #25 (U3): Matrix Multiplication with Compatibility Check
Download
  1. C Programming
  2. C Programming Practice
Program #24 (U3): Matrix Addition and Subtraction : Program #26 (U3): Transpose and Symmetric Check
C Programming Practice

Task: Read sizes of A (r1×c1) and B (r2×c2); if c1≠r2, print an error. Otherwise compute A×B using triple loops and display the product (limit 50×50).

 
#include <stdio.h>

 
int main(void) {

    int r1, c1, r2, c2;

    int A[50][50], B[50][50], C[50][50];

 
    printf("Enter r1 c1 (<=50): ");

    if (scanf("%d %d", &r1, &c1) != 2 || r1 <= 0 || c1 <= 0 || r1 > 50 || c1 > 50) { printf("Invalid size.\n"); return 0; }

    printf("Enter r2 c2 (<=50): ");

    if (scanf("%d %d", &r2, &c2) != 2 || r2 <= 0 || c2 <= 0 || r2 > 50 || c2 > 50) { printf("Invalid size.\n"); return 0; }

 
    if (c1 != r2) { printf("Incompatible sizes: c1 must equal r2.\n"); return 0; }

 
    printf("Enter matrix A (%d x %d):\n", r1, c1);

    for (int i = 0; i < r1; ++i)

        for (int j = 0; j < c1; ++j) scanf("%d", &A[i][j]);

 
    printf("Enter matrix B (%d x %d):\n", r2, c2);

    for (int i = 0; i < r2; ++i)

        for (int j = 0; j < c2; ++j) scanf("%d", &B[i][j]);

 
    for (int i = 0; i < r1; ++i) {

        for (int j = 0; j < c2; ++j) {

            C[i][j] = 0;

            for (int k = 0; k < c1; ++k) C[i][j] += A[i][k] * B[k][j];

        }

    }

 
    printf("A x B =\n");

    for (int i = 0; i < r1; ++i) {

        for (int j = 0; j < c2; ++j) printf("%d ", C[i][j]);

        printf("\n");

    }

 
    return 0;

}

 

 

Program #24 (U3): Matrix Addition and Subtraction Program #26 (U3): Transpose and Symmetric Check
Our Products & Services
  • Home
Connect with us
  • Contact us
  • +91 82955 87844
  • Rk6yadav@gmail.com

StudyLover - About us

The Best knowledge for Best people.

Copyright © StudyLover
Powered by Odoo - Create a free website