Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. #include <iostream>
  2. // 012
  3. #include <iomanip>
  4. // 013
  5. using namespace std;
  6. // 014
  7. int n=10;
  8. // 015
  9.  
  10. // 016
  11. int main()
  12. // 017
  13. {
  14. // 018
  15. float tab[3][4]={{0,0,0},
  16. {0,0,0},
  17. {0,0,0}};
  18.  
  19. // 019
  20. float wynik[n];
  21. // 020
  22. float wspolczynnik,pomoc;
  23. // 021
  24. int i,j,k,n=3;
  25. // 022
  26. float suma;
  27. // 023
  28.  
  29. // 024
  30. /*Wprowadzenie do tablicy wspolczynnikow*/
  31. // 025
  32. cout << "\n\tPodaj liczbe rownan w ukladzie: n = ";
  33. // 026
  34. cin>>n;
  35. // 027
  36. cout<<"\n\n";
  37. // 028
  38. for (i=0 ;i<n ;i++)
  39. // 029
  40. for (j=0 ;j<n+1 ;j++)
  41. // 030
  42. {
  43. // 031
  44. cout << "Podaj tab[" << i+1 << "]" << "[" << j+1 << "] = ";
  45. // 032
  46. cin >> tab[i][j] ;
  47. // 033
  48. }
  49. // 034
  50.  
  51. // 035
  52. cout<<"\n\n";
  53. // 036
  54. system("pause");
  55. // 037
  56. system("cls");
  57. // 038
  58.  
  59. // 039
  60. /* Wyswietlanie zawartosci tablicy współczynników*/
  61. // 040
  62.  
  63. // 041
  64. cout<<"\n\n\tWyswietlenie zawartosci tablicy wspolczynnikow\n\n";
  65. // 042
  66. for (i=0; i<n; i++)
  67. // 043
  68. {
  69. // 044
  70. cout << endl;
  71. // 045
  72. for (j=0; j<n+1; j++)
  73. // 046
  74. cout << setw(5) << tab[i][j];
  75. // 047
  76. }
  77. // 048
  78.  
  79. // 049
  80. cout<<"\n\n";
  81. // 050
  82. system("pause");
  83. // 051
  84. system("cls");
  85. // 052
  86.  
  87. // 053
  88. /* Sprawdzenie czy uklad jest ukladem Cramera*/
  89. // 054
  90. for (k=0; k<n; k++)
  91. // 055
  92. {
  93. // 056
  94. if (tab[k][k]==0)
  95. // 057
  96. {
  97. // 058
  98. int z = k+1;
  99. // 059
  100. while (tab[z][k]==0 && z<n)
  101. // 060
  102. z++;
  103. // 061
  104. if (z==n)
  105. // 062
  106. {
  107. // 063
  108. cout << "\n\n\tTo nie jest uklad Cramera\n\n";
  109. // 064
  110. system("pause");
  111. // 065
  112. return 1;
  113. // 066
  114. }
  115. // 067
  116.  
  117. // 068
  118. /* zamiana wierszy miejscami*/
  119. // 069
  120. else
  121. // 070
  122. for (j=k; j<n+1; j++)
  123. // 071
  124. {
  125. // 072
  126. pomoc = tab[z][j];
  127. // 073
  128. tab[z][j] = tab[k][j];
  129. // 074
  130. tab[k][j] = pomoc;
  131. // 075
  132. }
  133. // 076
  134. }
  135. // 077
  136. for (i=k+1; i<n; i++)
  137. // 078
  138. for (j=n; j>=0; j--)
  139. // 079
  140. tab[i][j] = tab[i][j]-tab[i][k]*tab[k][j]/tab[k][k];
  141. // 080
  142. }
  143. // 081
  144. cout <<"\n\n";
  145. // 082
  146.  
  147. // 083
  148. /*sprowadzenie układu do postaci trójkątnej*/
  149. // 084
  150. cout<<"\n\n\tSprowadzenie ukladu do postaci trojkatnej\n\n";
  151. // 085
  152. for (i=0; i<n; i++)
  153. // 086
  154. {
  155. // 087
  156. cout << endl;
  157. // 088
  158. for (j=0; j<n+1; j++)
  159. // 089
  160. cout << setw(5) << tab[i][j];
  161. // 090
  162. }
  163. // 091
  164. cout<<"\n\n";
  165. // 092
  166. system("pause");
  167. // 093
  168. system("cls");
  169. // 094
  170.  
  171. // 095
  172. /*Obliczenie niewidomych ukladu i zapisanie wartosci do tablicy wynikow*/
  173. // 096
  174. for (i=n-1; i>=0; i--)
  175. // 097
  176. {
  177. suma = 0;
  178. for (j=i+1; j<n; j++){
  179. suma = suma+tab[i][j]*wynik[j];
  180. wynik[i] = (tab[i][n]-suma)/tab[i][i];}
  181. }
  182. cout << endl;
  183. cout<<"\n\n\t";
  184. for(i=0; i<n; i++)
  185. cout <<"X" << i+1 << " = " << wynik[i]<<"\t";
  186. cin.ignore();
  187. getchar();
  188. return 0;
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement