Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. // korepetycje 17.12.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4.  
  5. #include <conio.h>
  6. #include <stdio.h>
  7. #include <time.h>
  8. #include <malloc.h>
  9. #include <stdlib.h>
  10.  
  11.  
  12. float** tworzenieMacierzy(int w, int k)
  13. {
  14. float **macierz;
  15.  
  16. macierz = (float**)calloc(w, sizeof(float*));
  17. if (macierz == NULL)
  18. printf("nie powiodla sie alokacja pamieci");
  19. for (int i = 0; i < w; i++)
  20. {
  21. macierz[i] = (float*)calloc(k, sizeof(float));
  22. if (macierz[i] == NULL)
  23. printf("nie powiodla sie alokacja pamieci");
  24. }
  25. return(macierz);
  26. }
  27. void wczytywanieDanych(float **macierz, int w, int k)
  28. {
  29.  
  30. for (int i = 0; i < w; i++)
  31. {
  32. for (int j = 0; j < k; j++)
  33. {
  34. printf("Podaj element macierzy[%d][%d]", i, j);
  35. scanf("%f", &macierz[i][j]);
  36. }
  37. }
  38. }
  39. void wypisywanieDanych(float **macierz, int w, int k)
  40. {
  41.  
  42. for (int i = 0; i < w; i++)
  43. {
  44. for (int j = 0; j < k; j++)
  45. {
  46. printf("%6.1f", macierz[i][j]);
  47. }
  48. printf("\n");
  49. }
  50. }
  51. float** mnozenieMacierzy(float **macierz1, float **macierz2, int w, int k)
  52. {
  53. float **macierz3;
  54. macierz3 = tworzenieMacierzy(w, k);
  55.  
  56. for (int i = 0; i < w; i++)
  57. {
  58. for (int j = 0; j < w; j++)
  59. {
  60. for (int a = 0; a < k; a++)
  61. {
  62. macierz3[i][j] = macierz3[i][j] + macierz1[i][a] * macierz2[a][j];
  63. }
  64. }
  65. }
  66. return(macierz3);
  67. }
  68. void usunMacierz(int w, float **macierz)
  69. {
  70. if (macierz == NULL) return;
  71. for (int i = 0; i < w; i++)
  72. {
  73. free(macierz[i]);
  74. }
  75. free(macierz);
  76. }
  77. int main()
  78. {
  79. float **macierz1 = NULL;
  80. float **macierz2 = NULL;
  81. float **macierz3 = NULL;
  82. int w, k;
  83. do
  84. {
  85. printf("Podaj ilosc wierszy:");
  86. scanf("%d", &w);
  87. printf("Podaj ilosc kolumn:");
  88. scanf("%d", &k);
  89. } while (w <= 0 && k <= 0);
  90.  
  91. macierz1 = tworzenieMacierzy(w, k);
  92. macierz2 = tworzenieMacierzy(w, k);
  93. printf("Podaj elementy macierzy 1:\n");
  94. wczytywanieDanych(macierz1, w, k);
  95. printf("Podaj elementy macierzy 2:\n");
  96. wczytywanieDanych(macierz2, w, k);
  97. printf("Wypisywanie macierzy 1:\n");
  98. wypisywanieDanych(macierz1, w, k);
  99. printf("Wypisywanie macierzy 2:\n");
  100. wypisywanieDanych(macierz2, w, k);
  101. macierz3 = mnozenieMacierzy(macierz1, macierz2, w, k);
  102. printf("Wypisywanie macierzy 3:\n");
  103. wypisywanieDanych(macierz3, w, k);
  104. usunMacierz(w, macierz1);
  105. usunMacierz(w, macierz2);
  106. usunMacierz(w, macierz3);
  107. _getch();
  108. return 0;
  109. }
  110. +++++++++++++++++++++++++++++++++++++++++
  111. #include "stdafx.h"
  112. #include <malloc.h>
  113. #include <conio.h>
  114. #include <stdlib.h>
  115.  
  116. int* tworz_tablice( int n)
  117. {
  118. int *tab;
  119. tab = (int*)malloc(n*sizeof(int));
  120. for (int i= 0; i < n; i++)
  121. {
  122. tab[i] = (int)malloc(n*sizeof(int));
  123. }
  124.  
  125. return tab;
  126.  
  127. }
  128. void wartosci(int *tab1, int n)
  129. {
  130. for (int i=0; i < n; i++)
  131. {
  132. printf(" tab[%d] = ", i + 1);
  133. scanf_s("%d", &tab1[i]);
  134. }
  135.  
  136. }
  137. void wypisz(int *tab1, int n)
  138. {
  139.  
  140. for (int i = 0; i < n; i++)
  141. {
  142. printf(" %4d ", tab1[i]);
  143.  
  144. }
  145. }
  146. void cykl_prawo(int *tab1, int p)
  147. {
  148. int buf;
  149.  
  150. for (int i = tab1[i] - 1; i>p; i--)
  151. {
  152. *(tab1 + i) = *(tab1 + i - 1);
  153. *tab1 = buf;
  154. }
  155. }
  156. int _tmain(int argc, _TCHAR* argv[])
  157. {
  158. int *tab1 = NULL;
  159. int n;
  160. int p;
  161. printf("podaj wielkosc ");
  162. scanf_s("%d", &n);
  163. printf("podaj przesu ");
  164. scanf_s("%d", &p);
  165.  
  166. tab1 = tworz_tablice(n);
  167. wartosci(tab1, n);
  168. wypisz(tab1, n);
  169. cykl_prawo(tab1, p);
  170.  
  171.  
  172.  
  173. _getch();
  174. return 0;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement