Advertisement
Guest User

Untitled

a guest
May 27th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. float* macierz(int m, int n){
  5. int i, j;
  6. int rozmiar;
  7. float *tablica, x;
  8. rozmiar = m*n;
  9. tablica = (float*)malloc(rozmiar * sizeof(*tablica));
  10. i = m*n;
  11. for (j = 0; j != i; j++){
  12. printf("pod licz\t");
  13. scanf_s("%f", &x);
  14. tablica[j] = x;
  15. }
  16. return tablica;
  17. free(tablica);
  18. }
  19.  
  20. void wypisz(int m, int n, float *tablica){
  21. int i, j, licznik;
  22. licznik = 0;
  23. for (i = 0; m != i; i++){
  24. for (j = 0; n != j; j++){
  25. printf("%.2f\t", tablica[licznik]);
  26. licznik++;
  27. }
  28. printf("\n");
  29. }
  30. }
  31. float* mnozenie(float *tablica, float *tablica2, int m, int n, int p){
  32. int i, j, k, rozmiar;
  33. float *tablicaC;
  34. rozmiar = m*n;
  35. tablicaC = (float*)malloc(rozmiar * sizeof(*tablicaC));
  36. for (i = 0; i != m; i++)
  37. for (j = 0; j != p; j++)
  38. tablicaC[i + j] = 0;
  39. for (i = 0; i != m; i++)
  40. for (j = 0; j != p; j++)
  41. for (k = 0; k != n; k++)
  42. tablicaC[i + j] = tablicaC[i + j] + tablica[i + k] * tablica2[k + j];
  43.  
  44. return tablicaC;
  45. free(tablicaC);
  46.  
  47. }
  48.  
  49. main(){
  50. int m, n, p;
  51. float *tablica2, *tablica, *tablicaC;
  52. printf("podaj rozmiar macierzy");
  53. scanf_s("%d%d%d", &m, &n, &p);
  54. printf("podaj pierwsza macierz");
  55. tablica = macierz(m, n);
  56. printf("podaj drugą macierz");
  57. tablica2 = macierz(n, p);
  58. wypisz(m, n, tablica);
  59. wypisz(n, p, tablica2);
  60. tablicaC = mnozenie(tablica, tablica2, m, n, p);
  61. wypisz(m, p, tablicaC);
  62. getchar();
  63. getchar();
  64. free(tablica);
  65. free(tablica2);
  66. free(tablicaC);
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement