Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <ctime>
  4. using namespace std;
  5.  
  6.  
  7.  
  8. //void MatrizIndentidad()
  9. //{
  10. //
  11. // int Matriz_I[12][12];
  12. //
  13. // for (int fila = 0; fila < 12; fila++)
  14. // {
  15. // for (int columna = 0; columna < 12; columna++)
  16. // {
  17. // if (fila == columna)
  18. // Matriz_I[fila][columna] = 1;
  19. // else
  20. // Matriz_I[fila][columna] = 0;
  21. //
  22. // cout << Matriz_I[fila][columna];
  23. // }
  24. // cout << endl;
  25. // }
  26. //}
  27.  
  28. //void MatrizA( int m[][12], int _n, int _n2)
  29. //{
  30. //
  31. // srand(time(NULL));
  32. // int Matriz_A[12][12];
  33. //
  34. // for (int fila = 0; fila < _n; fila++)
  35. // {
  36. // for (int columna = 0; columna < 12; columna++)
  37. // {
  38. // Matriz_A[fila][columna] = rand() % 10 + 1;
  39. //
  40. // cout << Matriz_A[fila][columna] << " ";
  41. // }
  42. //
  43. // cout << endl;
  44. // }
  45. //
  46. //}
  47.  
  48. //void MatrizB()
  49. //{
  50. // srand(time(NULL));
  51. // int Matriz_B[12];
  52. //
  53. // for (int fila = 0; fila < 12; fila++)
  54. // {
  55. // Matriz_B[fila] = rand() % 50 + 10;
  56. //
  57. // cout << Matriz_B[fila] << endl;
  58. // }
  59. //}
  60.  
  61. void main()
  62. {
  63. srand(time(NULL));
  64.  
  65.  
  66.  
  67. int n;
  68. float s = 0, q;
  69. float C[12][12];
  70.  
  71.  
  72.  
  73.  
  74. do {
  75. cout << "Ingresa el tama" << char(164) << "o de las matrices: ";
  76. cin >> n;
  77.  
  78. } while (n < 2 || n > 12);
  79.  
  80. cout << "\nMATRIZ A: " << endl;
  81. float Matriz_A[12][12]; // esta es mi matriz A
  82. for (int i = 0; i < n; i++)
  83. {
  84. for (int j = 0; j < n; j++)
  85. {
  86. Matriz_A[i][j] = rand() % 10 + 10;
  87.  
  88. cout << Matriz_A[i][j] << " ";
  89. }
  90.  
  91. cout << endl;
  92. }
  93.  
  94. cout << "\nMatriz Identidad: " << endl;
  95. float Matriz_I[12][12]; // esta es mi matriz B
  96. for (int i = 0; i < n; i++)
  97. {
  98. for (int j = 0; j < n; j++)
  99. {
  100. if (i == j)
  101. Matriz_I[i][j] = 1;
  102. else
  103. Matriz_I[i][j] = 0;
  104.  
  105. cout << Matriz_I[i][j] << " ";
  106. }
  107. cout << endl;
  108. }
  109.  
  110. //int Matriz_B[12]; // esta no es nada :v
  111. //for (int i = 0; i < n; i++)
  112. //{
  113. // Matriz_B[i] = rand() % 10 + 10;
  114.  
  115.  
  116. for (int k = 1; k <= n - 1; k++)
  117. {
  118. for (int i = 0; i < n; i++)
  119. for (int j = 0; j < n; j++) { C[i][j] = 0; }
  120.  
  121.  
  122. for (int i = 0; i < n; i++)
  123. for (int j = 0; j < n; j++)
  124. for (int z = 0; z < n; z++)
  125. {
  126. C[i][j] = C[i][j] + (Matriz_A[i][z] * Matriz_I[z][j]);
  127. }
  128.  
  129. cout << "Mmatriz AUX:" << endl;
  130.  
  131. for (int i = 0; i < n; i++)
  132. {
  133. for (int j = 0; j < n; j++)
  134. {
  135. cout << C[i][j] << " ";
  136. }
  137. cout << "\n" << endl;
  138. }
  139. cout << "\n" << endl;
  140.  
  141. for (int i = 0; i < n; i++)
  142. for (int j = 0; j < n; j++)
  143. {
  144. if (i == j) { s = s + C[i][j]; }
  145. }
  146. q = s / k;
  147.  
  148. for (int i = 0; i < n; i++)
  149. for (int j = 0; j < n; j++)
  150. {
  151. if (i == j)
  152. {
  153. Matriz_I[i][j] = C[i][j] - q;
  154. }
  155. else { Matriz_I[i][j] = C[i][j]; }
  156.  
  157. }
  158.  
  159.  
  160. cout << "Mmatriz AUX :" << endl;
  161.  
  162. for (int i = 0; i < n; i++)
  163. {
  164. for (int j = 0; j < n; j++)
  165. {
  166. cout << Matriz_I[i][j] << " ";
  167. }
  168. cout << "\n" << endl;
  169. }
  170. cout << "\n" << endl;
  171.  
  172. s = 0;
  173.  
  174. }
  175.  
  176. for (int i = 0; i < n; i++)
  177. for (int j = 0; j < n; j++)
  178. C[i][j] = 0;
  179.  
  180.  
  181. for (int i = 0; i < n; i++)
  182. for (int j = 0; j < n; j++)
  183. for (int z = 0; z < n; z++)
  184. {
  185. C[i][j] = C[i][j] + (Matriz_A[i][z] * Matriz_I[z][j]);
  186. }
  187.  
  188.  
  189. cout << "Mmatriz AUX C:" << endl;
  190.  
  191. for (int i = 0; i < n; i++)
  192. {
  193. for (int j = 0; j < n; j++)
  194. {
  195. cout << C[i][j] << " ";
  196. }
  197. cout << "\n" << endl;
  198. }
  199.  
  200. for (int i = 0; i < n; i++)
  201. {
  202. for (int j = 0; j < n; j++)
  203. {
  204. if (i == j)
  205. {
  206. s = s + C[i][j];
  207. }
  208. }
  209. }
  210.  
  211. cout << "La matriz inversa: \n" << endl;
  212. if (s / n != 0)
  213. {
  214. for (int i = 0; i < n; i++)
  215. for (int j = 0; j < n; j++)
  216. {
  217. Matriz_I[i][j] = (float)Matriz_I[i][j] / (float)(s / n);
  218. }
  219. for (int i = 0; i < n; i++)
  220. {
  221. for (int j = 0; j < n; j++)
  222. {
  223. cout << Matriz_I[i][j] << " ";
  224. }
  225. cout << "\n" << endl;
  226. }
  227.  
  228. }
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235. cout << "\n" << endl;
  236. // cout << Matriz_B[i] << endl;
  237. //}
  238.  
  239.  
  240. /*
  241. for (int i = 0; i < n; i++)
  242. {
  243. for (int j = 0; j < n; j++)
  244. {
  245. for (int z = 0; z < n; z++)
  246. {
  247. C[i][j] += Matriz_A[i][z] * Matriz_I[z][j];
  248.  
  249. }
  250. cout << C[i][j] << " ";
  251. }
  252. cout << endl;
  253. }*/
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266. _getch();
  267.  
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement