Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- using namespace std;
- void dimensiuneMatrice(int *linii , int *coloane){
- cout << "Dati numarul de linii ale matricei: ";
- cin >> *linii;
- cout << "Dati numarul de coloane ale matricei: ";
- cin >> *coloane;
- }
- int **alocare(int linii, int coloane) {
- int **m;
- m = (int**)malloc(sizeof(int*) * linii);
- for (int i = 0;i < linii;i++) {
- *(m + i) = (int*)malloc(sizeof(int) * coloane);
- }
- return m;
- }
- void citire(int **m,int linii ,int coloane) {
- for (int i = 0; i < linii;i++) {
- for (int j = 0;j < coloane;j++) {
- printf("m[%d][%d]= ", i, j);
- scanf_s("%d", (*(m + i) + j));
- }
- }
- }
- void adunareMatrice(int **rezultat,int **m1 , int**m2, int linii,int coloane) {
- for (int i = 0;i < linii;i++) {
- for (int j = 0;j < coloane;j++) {
- *(*(rezultat + i) + j) = 0;
- *(*(rezultat + i) + j) += *(*(m1 + i) + j) + *(*(m2 + i) + j);
- }
- }
- }
- void inmultireMatrice(int **rezultat ,int **m1 ,int **m2 ,int linii,int coloane ){
- for (int i = 0;i < linii;i++) {
- for (int j = 0;j < coloane;j++) {
- *(*(rezultat + i) + j) = 0;
- for (int k = 0;k < linii;k++) {
- *(*(rezultat + i) + j) += (*(*(m1 + i) + k) * *(*(m2 + k) + j));
- }
- }
- }
- }
- void afisareMatrice(int **m, int linii, int coloane) {
- citire(m, linii, coloane);
- printf("\n");
- printf("Matricea introdusa este de forma: \n\n");
- for (int i = 0; i < linii;i++) {
- for (int j = 0;j < coloane;j++) {
- printf("%d ", *(*(m + i) + j) );
- }
- printf("\n");
- }
- printf("\n");
- }
- void afisareRezultat(int **r, int linii, int coloane) {
- printf("\n");
- for (int i = 0; i < linii;i++) {
- for (int j = 0;j < coloane;j++) {
- printf("%d ", *(*(r + i) + j));
- }
- printf("\n");
- }
- printf("\n");
- }
- void main() {
- int **matriceA, **matriceB, **matriceRezultat;
- int linii,coloane ;
- dimensiuneMatrice(&linii, &coloane);
- printf("\n");
- matriceA = alocare(linii,coloane );
- matriceB = alocare(linii, coloane);
- matriceRezultat = alocare(linii, coloane);
- printf( "Introduceti elementele pentru prima matrice: \n\n");
- afisareMatrice(matriceA, linii, coloane);
- printf("Introduceti elementele pentru cea de-a doua matrice: \n\n");
- afisareMatrice(matriceB, linii, coloane);
- printf("Matricea rezultata in urma adunarii este: \n\n");
- adunareMatrice(matriceRezultat, matriceA, matriceB, linii, coloane);
- afisareRezultat(matriceRezultat, linii, coloane);
- printf("Matricea rezultata in urma inmultirii este : \n\n");
- inmultireMatrice(matriceRezultat, matriceA, matriceB, linii, coloane);
- afisareRezultat(matriceRezultat, linii, coloane);
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement