Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "myHead1.h"
- #include "myFunc1.c"
- int main()
- {
- double** matrixA = NULL;
- double** matrixB = NULL;
- double** wynik = NULL;
- double skalar;
- int wierA, kolA, wierB, kolB, polecenie, zad = 1;
- int warunki = 1;
- while(zad){
- myMenu1(&polecenie, &zad);
- switch (polecenie)
- {
- case 1 :
- puts("Podaj wymiary macierzy:");
- matrixDim(&wierA, &kolA);
- matrixA = alokacjaPam(wierA, kolA); //Alokacja pamieci
- matrixB = alokacjaPam(wierA, kolA);
- wynik = alokacjaPam(wierA, kolA);
- puts("Macierz A:");
- getMatrix(matrixA, wierA, kolA); //Pobranie elementow macierzy
- puts("Macierz B:");
- getMatrix(matrixB, wierA, kolA);
- addMatrix(matrixA, matrixB, wynik, wierA, kolA);
- puts("Macierz A:");
- printMatrix(matrixA, wierA, kolA);
- puts("Macierz B:"); //Przedstawienie wynikow
- printMatrix(matrixB, wierA, kolA);
- puts("Suma macierzy A i B:");
- printMatrix(wynik, wierA, kolA);
- zwolnieniePam(matrixB, wierA); //Zwolnienie pamieci
- zwolnieniePam(matrixA, wierA);
- zwolnieniePam(wynik, wierA);
- break;
- case 2 :
- puts("Podaj wymiary macierzy:");
- matrixDim(&wierA, &kolA);
- matrixA = alokacjaPam(wierA, kolA);
- matrixB = alokacjaPam(wierA, kolA);
- wynik = alokacjaPam(wierA, kolA);
- puts("Macierz A:");
- getMatrix(matrixA, wierA, kolA);
- puts("Macierz B:");
- getMatrix(matrixB, wierA, kolA);
- subMatrix(matrixA, matrixB, wynik, kolA, wierA);
- puts("Macierz A:");
- printMatrix(matrixA, wierA, kolA);
- puts("Macierz B:");
- printMatrix(matrixB, wierA, kolA);
- puts("Roznica macierzy A i B:");
- printMatrix(wynik, wierA, kolA);
- zwolnieniePam(matrixB, wierA);
- zwolnieniePam(matrixA, wierA);
- zwolnieniePam(wynik, wierA);
- break;
- case 3 :
- puts("Podaj wymiary macierzy A:");
- matrixDim(&wierA, &kolA);
- puts("Podaj skalar");
- scanf("%lf", &skalar);
- matrixA = alokacjaPam(wierA, kolA);
- wynik = alokacjaPam(wierA, kolA);
- puts("Macierz A:");
- getMatrix(matrixA, wierA, kolA);
- scalMatrix(matrixA, wynik, wierA, kolA, skalar);
- puts("Macierz A:");
- printMatrix(matrixA, wierA, kolA);
- printf("Skalar: %.2lf\n%.2lf*A:\n\n", skalar, skalar);
- printMatrix(wynik, wierA, kolA);
- zwolnieniePam(matrixA, wierA);
- zwolnieniePam(wynik, wierA);
- break;
- case 4 :
- while(warunki)
- {
- puts("Podaj wymiary macierzy A:");
- matrixDim(&wierA, &kolA);
- puts("Podaj wymiary macierzy B:");
- matrixDim(&wierB, &kolB);
- if(kolA != wierB) //Sprawdzenie warunku mnozenia
- {
- warunki = 1;
- puts("Podaj wymiary spelniajace warunek: kolumny A = wiersze B");
- }
- else
- {
- warunki = 0;
- }
- }
- matrixA = alokacjaPam(wierA, kolA);
- matrixB = alokacjaPam(wierB, kolB);
- wynik = alokacjaPam(wierA, kolB);
- puts("Macierz pierwsza:");
- getMatrix(matrixA, wierA, kolA);
- puts("Macierz druga:");
- getMatrix(matrixB, wierB, kolB);
- multiMatrix(matrixA, matrixB, wynik, wierA, kolA, kolB);
- puts("Macierz A:");
- printMatrix(matrixA, wierA, kolA);
- puts("Macierz B:");
- printMatrix(matrixB, wierB, kolB);
- puts("Iloczyn macierzy A i B");
- printMatrix(wynik, wierA, kolB);
- zwolnieniePam(matrixA, wierA);
- zwolnieniePam(matrixB, wierB);
- zwolnieniePam(wynik, wierA);
- break;
- case 5 :
- puts("Podaj wymiary macierzy A:");
- matrixDim(&wierA, &kolA);
- matrixA = alokacjaPam(wierA, kolA);
- wynik = alokacjaPam(kolA, wierA);
- puts("Macierz pierwsza:");
- getMatrix(matrixA, wierA, kolA);
- transMatrix(matrixA, wynik, wierA, kolA);
- puts("Macierz A:");
- printMatrix(matrixA, wierA, kolA);
- puts("Macierz A transponowana:");
- printMatrix(wynik, kolA, wierA);
- zwolnieniePam(matrixA, wierA);
- zwolnieniePam(wynik, kolA);
- break;
- case 6 : return 0;
- default : puts("Podaj odpowiedni numer operacji");
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement