Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h>
- void readMatrix(int linii, int coloane, int **p) {
- int i, j;
- for (i = 0; i < linii; i++) {
- for (j = 0; j < coloane; j++) {
- printf("m[%d][%d] = ", i, j);
- scanf_s("%d", *(p + i) + j);
- }
- }
- }
- void displayMatrix(int linii, int coloane, int **p) {
- int i, j;
- for (i = 0; i < linii; i++) {
- for (j = 0; j < coloane; j++) {
- printf("%d ", *(*(p + i) + j));
- }
- printf("\n");
- }
- }
- int **alocare(int linii, int coloane) {
- int **pointer;
- if ((pointer = (int**)malloc(sizeof(int*)*linii)) == NULL) {
- printf("\nNu aveti suficenta memorie: ");
- _getch();
- exit(0);
- }
- for (int i = 0; i <= linii; i++) {
- if ((*(pointer + i) = (int*)malloc(sizeof(int)*coloane)) == NULL) {
- exit(0);
- }
- }
- return pointer;
- }
- void multiplicaton(int l1, int c2, int c1, int **p1, int **p2,int **p3) {
- int i, j, k;
- for(i = 0; i < l1; i++){
- for (j = 0; j < c2; j++) {
- *(*(p3 + i) +j) = 0;
- for (k = 0; k < c1; k++) {
- *(*(p3 + i) + j) = *(*(p3 + i) + j) + *(*(p1 + i) + k ) * *(*(p2 + k) + j);
- }
- }
- }
- }
- void main() {
- int l1, c1, **p1, l2, c2, **p2, **p3;
- printf("Introduceti numarul de linii pentru prima matrice: \n");
- scanf_s("%d", &l1);
- printf("Introduceti numarul de coloane pentru prima matrice: \n");
- scanf_s("%d", &c1);
- p1 = alocare(l1, c1);
- readMatrix(l1, c1, p1);
- printf("\n");
- displayMatrix(l1, c1, p1);
- printf("\nIntroduceti numarul de linii pentru a doua matrice: \n");
- scanf_s("%d", &l2);
- while (l2 != c1) {
- printf("Reintroduceti: ");
- scanf_s("%d", &l2);
- }
- printf("Introduceti numarul de coloane pentru a doua matrice: \n");
- scanf_s("%d", &c2);
- p2 = alocare(l2, c2);
- readMatrix(l2, c2, p2);
- printf("\n");
- displayMatrix(l2, c2, p2);
- printf("Matricea 1 * Matricea 2 = \n");
- p3 = alocare(l1, c2);
- multiplicaton(l1, c2, c1, p1, p2, p3);
- printf("\n");
- displayMatrix(l1,c2,p3);
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement