Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- float* macierz(int m, int n){
- int i, j;
- int rozmiar;
- float *tablica, x;
- rozmiar = m*n;
- tablica = (float*)malloc(rozmiar * sizeof(*tablica));
- i = m*n;
- for (j = 0; j != i; j++){
- printf("pod licz\t");
- scanf_s("%f", &x);
- tablica[j] = x;
- }
- return tablica;
- free(tablica);
- }
- void wypisz(int m, int n, float *tablica){
- int i, j, licznik;
- licznik = 0;
- for (i = 0; m != i; i++){
- for (j = 0; n != j; j++){
- printf("%.2f\t", tablica[licznik]);
- licznik++;
- }
- printf("\n");
- }
- }
- float* mnozenie(float *tablica, float *tablica2, int m, int n, int p){
- int i, j, k, rozmiar;
- float *tablicaC;
- rozmiar = m*n;
- tablicaC = (float*)malloc(rozmiar * sizeof(*tablicaC));
- for (i = 0; i != m; i++)
- for (j = 0; j != p; j++)
- tablicaC[i + j] = 0;
- for (i = 0; i != m; i++)
- for (j = 0; j != p; j++)
- for (k = 0; k != n; k++)
- tablicaC[i + j] = tablicaC[i + j] + tablica[i + k] * tablica2[k + j];
- return tablicaC;
- free(tablicaC);
- }
- main(){
- int m, n, p;
- float *tablica2, *tablica, *tablicaC;
- printf("podaj rozmiar macierzy");
- scanf_s("%d%d%d", &m, &n, &p);
- printf("podaj pierwsza macierz");
- tablica = macierz(m, n);
- printf("podaj drugą macierz");
- tablica2 = macierz(n, p);
- wypisz(m, n, tablica);
- wypisz(n, p, tablica2);
- tablicaC = mnozenie(tablica, tablica2, m, n, p);
- wypisz(m, p, tablicaC);
- getchar();
- getchar();
- free(tablica);
- free(tablica2);
- free(tablicaC);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement