Thursday, January 7, 2016

15) Inmultirea a doua matrice (subprogram)

Sa se scrie programul care afiseaza rezultatul inmultirii unei matrice A cu o matrice B folosind un subprogram. Elementele ambelor matrice se vor citi de la tastatura.

  

#include <stdio.h>
#include <stdlib.h>

void produs(int a[20][20], int b[20][20], int c[20][20], int n, int k) {
    int i,j,x;
    for(i=0;i<n;i++) {
        for(j=0;j<k;j++) {
            c[i][j] = 0;
            for(x=0;x<n;x++) {
                c[i][j] += a[i][x]*b[x][j];
            }
        }
    }

}


int main() {
    int a[20][20], b[20][20], c[20][20]; //c = matrice output
    int i,j,n,k,size;
    printf("Linii A: "); scanf("%d", &n);
    printf("Coloane A = Linii B: "); scanf("%d", &size);
    printf("Columns B: "); scanf("%d", &k);

    for(i=0;i<n;i++) {
        for(j=0;j<size;j++) {
            printf("a[%d][%d] = ", i,j); scanf("%d", &a[i][j]);
        }
    }

    for(i=0;i<size;i++) {
        for(j=0;j<k;j++) {
            printf("b[%d][%d] = ", i,j); scanf("%d", &b[i][j]);
        }
    }

    produs(a,b,c,n,k);

    for(i=0;i<n;i++) {
        for(j=0;j<size;j++) {
            printf(" %d ", c[i][j]);
        }
        printf("\n");
    }

}






No comments:

Post a Comment