Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.68 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <cstdlib>
  4. #include <stack>
  5.  
  6. using namespace std;
  7. int ** macierz1 = new int * [0];
  8. int ** macierz2 = new int * [0];
  9. int ** macierz3 = new int * [0];
  10. class wczytywanie
  11. {
  12. public:
  13. int wymiar11,wymiar12;
  14. mnozeniemacierzy(wczytywanie m2,wczytywanie m3)
  15. {
  16. if(m2.wymiar12==m3.wymiar11)
  17. {
  18. for(int i=0; i<wymiar11; i++)
  19. {
  20. macierz3[i]= new int [m3.wymiar12];
  21. }
  22. for(int i = 0; i < m2.wymiar11; i++ )
  23. for(int j = 0; j < m3.wymiar12; j++ )
  24. {
  25. int s = 0;
  26. for(int k = 0; k < m3.wymiar11; k++ ) s += macierz1 [ i ][ k ] * macierz2 [ k ][ j ];
  27. macierz3 [ i ][ j ] = s;
  28. }
  29. }
  30. else
  31. {
  32. cout<<"Macierzy nie mozna pomnozyc"<<endl;
  33. }
  34. }
  35. wczytywanie1()
  36. {
  37. cout<<"============================="<<endl;
  38. cout<<"Podaj 1 wymiar 1 macierzy: ";
  39. cin>>wymiar11;
  40. cout<<"Podaj 2 wymiar 1 macierzy: ";
  41. cin>>wymiar12;
  42. cout<<"====================="<<endl;
  43. for(int i=0; i<wymiar11; i++)
  44. {
  45. macierz1[i]= new int [wymiar12];
  46. }
  47. for(int a=0; a<wymiar11; a++)
  48. {
  49. for(int b=0; b<wymiar12; b++)
  50. {
  51. cout<<"Podaj wyraz "<<a+1<<" wiersza "<<b+1<<" kolumny 1 macierzy:";
  52. cin>>macierz1[a][b];
  53.  
  54. }
  55. }
  56. wczytywanie2()
  57. {
  58. cout<<"============================="<<endl;
  59. cout<<"Podaj 1 wymiar 1 macierzy: ";
  60. cin>>wymiar11;
  61. cout<<"Podaj 2 wymiar 1 macierzy: ";
  62. cin>>wymiar12;
  63. cout<<"====================="<<endl;
  64. for(int i=0; i<wymiar11; i++)
  65. {
  66. macierz2[i]= new int [wymiar12];
  67. }
  68. for(int a=0; a<wymiar11; a++)
  69. {
  70. for(int b=0; b<wymiar12; b++)
  71. {
  72. cout<<"Podaj wyraz "<<a+1<<" wiersza "<<b+1<<" kolumny 1 macierzy:";
  73. cin>>macierz2[a][b];
  74.  
  75. }
  76. }
  77.  
  78. };
  79.  
  80. int main()
  81. {
  82. int a,b;
  83. cout<<"============================="<<endl;
  84. cout<<"Witaj w kalkulatorze macierzy"<<endl;
  85. cout<<"============================="<<endl;
  86. cout<<"Informacje dotyczace korzystania z kalkulatora"<<endl;
  87. cout<<"1.Do wartosci kazdej pojedynczej macierzy "<<endl;
  88. cout<<"mozemy dodac lub odjac pewna wartosc,"<<endl;
  89. cout<<"zarowno kazda wartosc mozemy pomnozyc"<<endl;
  90. cout<<"i podzielic przez okreslona wartosc"<<endl;
  91. cout<<"2.Mozna mnozyc jedynie macierze o "<<endl;
  92. cout<<"wymiarach podobnych gdzie A ma wymiary"<<endl;
  93. cout<<"axb, a macierz B wymairy cxd, wymiary b"<<endl;
  94. cout<<"musi byc rowny c, a wynikiem takiego mnozenia"<<endl;
  95. cout<<"jest macierz axd"<<endl;
  96. cout<<"3.Mozna dodawac i odejmowac jedynie macierze"<<endl;
  97. cout<<"o tych samych wymiarach axa oraz bxb gdzie a=b"<<endl;
  98. cout<<"4.Wyznacznik mozemy wyznaczyc tylko z macierzy kwadratowej axa"<<endl;
  99. cout<<"============================="<<endl;
  100. cout<<"Wybierz opcje:"<<endl;
  101. cout<<"1.Dzialania na 1 macierzy "<<endl;
  102. cout<<"2.Dzialania na 2 macierzach "<<endl;
  103. cout<<"============================="<<endl;
  104. cout<<"Twoj wybor: ";
  105. cin>>a;
  106. cout<<"============================="<<endl;
  107. switch(a)
  108. {
  109. case 1:
  110. {
  111. cout<<"Wybrano opcje numer 1"<<endl;
  112. wczytywanie m1;
  113. Sleep(1000);
  114. system("cls");
  115. //odwolanie do funkcjiwpisaie 1 macierzy
  116. cout<<"============================="<<endl;
  117. cout<<"Wybierz dzialanie na 1 macierzy"<<endl;
  118. cout<<"============================="<<endl;
  119. cout<<"1:Zwieksz wartosci o x"<<endl;
  120. cout<<"2:Zmniejsz wartosci o x"<<endl;
  121. cout<<"3:Pomnoz wartosci przez x"<<endl;
  122. cout<<"4:Podziel wartosci przez x"<<endl;
  123. cout<<"5:Wyznacz wyznacznik"<<endl;
  124. cout<<"============================="<<endl;
  125. cout<<"Twoj wybor: ";
  126. cin>>b;
  127. cout<<"============================="<<endl;
  128. switch( b )
  129. {
  130. case 1:
  131. cout<<"Wybrano opcje numer 1"<<endl;
  132. cout<<"============================="<<endl;
  133. break;
  134. case 2:
  135. cout<<"Wybrano opcje numer 2"<<endl;
  136. cout<<"============================="<<endl;
  137. break;
  138. case 3:
  139. cout<<"Wybrano opcje numer 3"<<endl;
  140. cout<<"============================="<<endl;
  141. break;
  142. case 4:
  143. cout<<"Wybrano opcje numer 4"<<endl;
  144. cout<<"============================="<<endl;
  145. break;
  146. case 5:
  147. cout<<"Wybrano opcje numer 5"<<endl;
  148. cout<<"============================="<<endl;
  149. break;
  150. default:
  151. cout<<"Nie ma takiej opcji"<<endl;
  152. cout<<"============================="<<endl;
  153. break;
  154. }
  155. }
  156. break;
  157. case 2:
  158. {
  159. cout<<"Wybrano opcje numer 2"<<endl;
  160. wczytywanie m2;
  161. wczytywanie m3;
  162. mnozeniemacierzy m4;
  163. Sleep(1000);
  164. system("cls");
  165. //odwolanie do funkcjiwpisaie 2 macierzy
  166. cout<<"Wybierz dzialanie na 2 macierzach"<<endl;
  167. cout<<"============================="<<endl;
  168. cout<<"1:Dodawanie"<<endl;
  169. cout<<"2:Odejmowanie"<<endl;
  170. cout<<"3:Mnozenie"<<endl;
  171. cout<<"============================="<<endl;
  172. cout<<"Twoj wybor: ";
  173. cin>>b;
  174. cout<<"============================="<<endl;
  175. switch( b )
  176. {
  177. case 1:
  178. cout<<"Wybrano opcje numer 1"<<endl;
  179. cout<<"============================="<<endl;
  180. break;
  181. case 2:
  182. cout<<"Wybrano opcje numer 2"<<endl;
  183. cout<<"============================="<<endl;
  184. break;
  185. case 3:
  186. cout<<"Wybrano opcje numer 3"<<endl;
  187. cout<<"============================="<<endl;
  188. mnozeniemacierzy m4;
  189. break;
  190. default:
  191. cout<<"Nie ma takiej opcji"<<endl;
  192. cout<<"============================="<<endl;
  193. break;
  194. }
  195. break;
  196. }
  197. default:
  198. {
  199. cout<<"Nie ma takiej opcji"<<endl;
  200. cout<<"============================="<<endl;
  201. Sleep(1000);
  202. system("cls");
  203. }
  204. break;
  205. }
  206. return 0;
  207. }
  208. /*
  209. cout<<"====================="<<endl;
  210. for(int a=0;a<wymiar21;a++)
  211. {
  212. cout<<"| ";
  213. for(int b=0;b<wymiar22;b++)
  214. {
  215. cout<<macierz2[a][b]<<" ";
  216. }
  217. cout<<"|"<<endl;
  218. }
  219. cout<<"====================="<<endl;
  220. cout<<"Wyznacznik"<<endl;
  221. int ** tablicawp = new int * [wymiar11];
  222. for(int i=0;i<wymiar12;i++)
  223. {
  224. tablicawp[i] = new int [wymiar21];
  225. }
  226. for(int a=wymiar11;a>1;a--)
  227. {
  228. for(int b=1;b<wymiar12;b++)
  229. {
  230. tablicawp[a][b]=macierz1[a][b];
  231. cout<<tablicawp[a][b]<<endl;
  232. }
  233. }
  234. for(int i=0;i<wymiar11;i++)
  235. {
  236. tablicawp[i];
  237. cout<<tablicawp[i]<<endl;
  238. }
  239. delete [] tablicawp;
  240. cout<<"====================="<<endl;
  241. cout<<"Dodawanie"<<endl;
  242. int ** macierz3 = new int * [wymiar11];
  243. if((wymiar11==wymiar21)&&(wymiar12==wymiar22))
  244. {
  245. for(int i=0;i<wymiar12;i++)
  246. {
  247. macierz3[i] = new int [wymiar11];
  248. }
  249. for(int a=0;a<wymiar11;a++)
  250. {
  251. for(int b=0;b<wymiar12;b++)
  252. {
  253. macierz3[a][b]=macierz1[a][b]+macierz2[a][b];
  254. }
  255. }
  256. for(int z=0;z<wymiar12;z++)
  257. {
  258. delete [] macierz3[z];
  259. }
  260. delete [] macierz3;
  261. for(int a=0;a<wymiar21;a++)
  262. {
  263. cout<<"| ";
  264. for(int b=0;b<wymiar22;b++)
  265. {
  266. cout<<macierz3[a][b]<<" ";
  267. }
  268. cout<<"|"<<endl;
  269. }
  270. }
  271. else
  272. {
  273. cout<<"Nie mozna dodac"<<endl;
  274. }
  275. cout<<"====================="<<endl;
  276. cout<<"Odejmowanie"<<endl;
  277. if((wymiar11==wymiar21)&&(wymiar12==wymiar22))
  278. {
  279. for(int a=0;a<wymiar11;a++)
  280. {
  281. for(int b=0;b<wymiar12;b++)
  282. {
  283. macierz3[a][b]=macierz1[a][b]-macierz2[a][b];
  284. }
  285. }
  286. for(int z=0;z<wymiar12;z++)
  287. {
  288. delete [] macierz3[z];
  289. }
  290. delete [] macierz3;
  291. for(int a=0;a<wymiar21;a++)
  292. {
  293. cout<<"| ";
  294. for(int b=0;b<wymiar22;b++)
  295. {
  296. cout<<macierz3[a][b]<<" ";
  297. }
  298. cout<<"|"<<endl;
  299. }
  300. }
  301. else
  302. {
  303. cout<<"Nie mozna odjac"<<endl;
  304. }
  305. cout<<"====================="<<endl;
  306. cout<<"Mnozenie macierzy"<<endl;
  307. if(wymiar12=!wymiar21)
  308. {
  309. cout<<"Nie mozna mnozyc macierzy o takich wymiarach"<<endl;
  310. }
  311. else
  312. {
  313. cout<<"Mnozenie macierzy mozliwe ale nie gotowe"<<endl;
  314. }
  315. cout<<"====================="<<endl;
  316. for(int z=0;z<wymiar12;z++)
  317. {
  318. delete [] macierz2[z];
  319. }
  320. for(int z=0;z<wymiar22;z++)
  321. {
  322. delete [] macierz1[z];
  323. }
  324. delete [] macierz1;
  325. delete [] macierz2;
  326.  
  327. return 0;
  328. }
  329. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement