Advertisement
Guest User

Untitled

a guest
Apr 6th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <windows.h>
  4. #include <cstdlib>
  5. #include <ctime>
  6. #include <cmath>
  7.  
  8. using namespace std;
  9.  
  10. void we(int &n)
  11. {
  12. cout<<"Podaj n: ";
  13. cin>>n;
  14. if(n>=0 && n<=80)
  15. cout<<"Miesci sie w przedziale"<<endl;
  16. else
  17. cout<<"Poza przedzialem"<<endl;
  18. }
  19. void we1(int *tab, int n)
  20. {
  21. int a,b;
  22. cout<<"Od: ";
  23. cin>>a;
  24. cout<<"Do: ";
  25. cin>>b;
  26. srand(time(NULL));
  27. if(a<b)
  28. {
  29. for(int i=0; i<n; i++)
  30. tab[i]=a+rand()%(b-a+1);
  31. }
  32. else {
  33. for(int i=0; i<n; i++)
  34. tab[i]=b+rand()%(a-b+1);
  35. }
  36.  
  37. }
  38. void kopia(int *tab, int *tab1, int n)
  39. {
  40. for (int i=0; i<n; i++) tab1[i]=tab[i];
  41. }
  42. void wypisz_odwrotnie(int *tab, int *tab1, int n)
  43. {
  44. kopia(tab,tab1,n);
  45. int b;
  46. for(int i=0; i<(n/2); i++)
  47. {
  48. b=tab[i];
  49. tab[i]=tab[n-1-i];
  50. tab[n-1-i]=b;
  51. }
  52. cout<<endl;
  53. }
  54. void srednia(int *tab, int n)
  55. {
  56. int tab2[90]={0};
  57. int tab3[90]={0};
  58. float wynik=0;
  59. for(int i=0; i<=(n-1);i++)
  60. wynik+=tab[i];
  61. cout<<fixed<<setprecision(3)<<"Srednia jest rowna: "<<(wynik/n)<<endl;
  62. int licznik=0;
  63. int licznik1=0;
  64. for(int i=0; i<n; i++){
  65. if (tab[i]>=(wynik/n)){
  66. tab2[licznik]=tab[i];
  67. licznik++;}
  68. else{
  69. tab3[licznik1]=tab[i];
  70. licznik1++;}
  71. }
  72. cout << "Elementy wieksze lub rowne srednia: \n";
  73. for( int i=0; i<licznik; i++ ) cout<<setw(5)<<tab2[i];
  74. cout <<endl<< "Elementy mniejsze od sredniej: \n";
  75. for( int j=0; j<licznik1; j++ ) cout<<setw(5)<<tab3[j];
  76. }
  77. int najwieksza(int *tab, int n, int &maks)
  78. {
  79. int i;
  80. maks=tab[0];
  81. for(i=1; i<n; i++)
  82. if(tab[i]>maks) maks=tab[i];
  83. return maks;
  84. }
  85. int najmniejsza(int *tab, int n, int &mini)
  86. {
  87. int i;
  88. mini=tab[0];
  89. for(i=1; i<n; i++)
  90. if(tab[i]<mini) mini=tab[i];
  91. return mini;
  92. }
  93. bool szukaj(int *tab, int n)
  94. {
  95. int i=0,liczba;
  96. cout<<"Podaj liczbe ";
  97. cin>>liczba;
  98. while(tab[i]!= liczba && i<n) i++;
  99. if(i<n) return true;
  100. return false;
  101. }
  102. int lidera(int *tab, int n)
  103. {
  104. int lider=tab[0], para=1;
  105. for(int i=1; i<n; i++)
  106. {
  107. if(para == 0)
  108. {
  109. tab[i]=lider;
  110. para++;
  111. }
  112. else
  113. {
  114. if(lider == tab[i]) para++;
  115. else para--;
  116. }
  117. }
  118. if(para == 0) return 1;
  119. int ile=0;
  120. for(int i=0; i<n; i++)
  121. {
  122. if(tab[i] == lider) ile++;
  123. if(ile>(n/2))
  124. return lider;
  125. }
  126. return 1;
  127. }
  128. void wy(int *tab, int n)
  129. {
  130. int i=0;
  131. for(i=0; i<n; i++)
  132. cout<<setw(8)<<tab[i];
  133. }
  134. void sortowanie_babelkowe(int *tab, int n, int *tab1)
  135. {
  136. kopia(tab,tab1,n);
  137. for(int i=0;i<n;i++)
  138. for(int j=1;j<n-i;j++)
  139. if(tab1[j-1]>tab1[j])
  140. swap(tab1[j-1], tab1[j]);
  141. for(int i=0;i<n;i++)
  142. cout<<tab1[i]<<" ";
  143. }
  144. int ile_max(int *tab, int n)
  145. {
  146. int wynik=0,m;
  147. najwieksza(tab,n,m);
  148. for(int x=0; x<n; x++)
  149. if(tab[x]==m) wynik++;
  150. return wynik;
  151. }
  152. int ile_min(int *tab, int n)
  153. {
  154. int wynik=0,mi;
  155. najmniejsza(tab,n,mi);
  156. for(int x=0; x<n; x++)
  157. if(tab[x]==mi) wynik++;
  158. return wynik;
  159. }
  160. void program(int *tab, int *tab1, int n)
  161. {
  162. int menu;
  163. bool bylo_pierwsze = false;
  164. do{
  165. cout<<"MENU"<<endl<<"1 - Tworzenie i wypelnianie tablicy"<<endl<<"2 - Wyswietlenie tablicy"<<endl<<"3 - Sortowanie babelkowe"<<endl<<"4 - Lider"<<endl<<"5 - Tablica odwrotna"<<endl<<"6 - Max"<<endl<<"7 - Srednia"<<endl<<"8 - Wyjscie"<<endl<<"wybierz ";
  166. cin>>menu;
  167. switch(menu)
  168. {
  169. case 1:
  170. bylo_pierwsze = true;
  171. cout<<"Tworzenie i wypelnianie tablicy"<<endl;
  172. we(n);
  173. we1(tab,n);
  174. Sleep(3000);
  175. system("cls");
  176. break;
  177. case 2:
  178. if(bylo_pierwsze != true){
  179. cout<<"Blad! Wybierz najpierw zadanie 1"<<endl;
  180. Sleep(2000);
  181. system("cls");
  182. break;
  183. }
  184. cout<<"Wyswietlenie tablicy"<<endl;
  185. wy(tab,n);
  186. Sleep(3000);
  187. system("cls");
  188. break;
  189. case 3:
  190. if(bylo_pierwsze != true){
  191. cout<<"Blad! Wybierz najpierw zadanie 1"<<endl;
  192. Sleep(2000);
  193. system("cls");
  194. break;
  195. }
  196. cout<<"Sortowanie babelkowe"<<endl;
  197. wy(tab,n);
  198. cout<<endl<<endl;
  199. sortowanie_babelkowe(tab,n,tab1);
  200. Sleep(3000);
  201. system("cls");
  202. break;
  203. case 4:
  204. if(bylo_pierwsze != true){
  205. cout<<"Blad! Wybierz najpierw zadanie 1"<<endl;
  206. Sleep(2000);
  207. system("cls");
  208. break;
  209. }
  210. cout<<"Wyszukiwanie lidera"<<endl;
  211. if(lidera(tab,n)== 1){
  212. cout<<"Nie ma lidera"<<endl;}
  213. else{
  214. cout<<"Liderem jest: "<<lidera(tab,n)<<endl;}
  215. Sleep(3000);
  216. system("cls");
  217. break;
  218. case 5:
  219. if(bylo_pierwsze != true){
  220. cout<<"Blad! Wybierz najpierw zadanie 1"<<endl;
  221. Sleep(2000);
  222. system("cls");
  223. break;
  224. }
  225. cout<<"Odwrotnosc tablicy"<<endl;
  226. wy(tab,n);
  227. cout<<endl<<endl;
  228. wypisz_odwrotnie(tab,tab1,n);
  229. Sleep(3000);
  230. system("cls");
  231. break;
  232. case 6:
  233. if(bylo_pierwsze != true){
  234. cout<<"Blad! Wybierz najpierw zadanie 1"<<endl;
  235. Sleep(2000);
  236. system("cls");
  237. break;
  238. }
  239. int m,mi;
  240. cout<<"MAX"<<endl;
  241. cout<<"Najwieksza liczba to: "<<najwieksza(tab,n,m)<<" Wystepuje: "<<ile_max(tab,n)<<endl;
  242. Sleep(3000);
  243. system("cls");
  244. break;
  245. case 7:
  246. if(bylo_pierwsze != true){
  247. cout<<"Blad! Wybierz najpierw zadanie 1"<<endl;
  248. Sleep(2000);
  249. system("cls");
  250. break;
  251. }
  252. srednia(tab,n);
  253. Sleep(6000);
  254. system("cls");
  255. break;
  256. case 8:
  257. cout<<"Dziekuje :)";
  258. exit(0);
  259. break;
  260. default: cout<<"BLEDNY WYBOR!!!"<<endl;
  261. Sleep(2000);
  262. system("cls");
  263. }
  264. }while(1==1);
  265.  
  266. }
  267. int main()
  268. {
  269. int t[90],t1[90],a;
  270. program(t,t1,a);
  271. return 0;
  272. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement