Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. int *tab;
  8. int n;
  9.  
  10. void domina(int*, int = 20, int = 11);
  11. void medi(int*, int = 20);
  12. void szukaj(int*, int, int);
  13.  
  14. int main()
  15. {
  16. srand(time(NULL));
  17. //cout << "Podaj wielkosc tablicy: ";
  18. n = 20; //cin >> n;
  19. tab = new int[n];
  20.  
  21. for (int i = 0; i < n; i++) {
  22. cout << (tab[i] = (rand() % 11)) << endl;
  23. }
  24. domina(tab);
  25.  
  26.  
  27. delete[] tab; return 0;
  28. }
  29.  
  30.  
  31. void domina(int * d_tab, int d_size, int d_range)
  32. {
  33. int najw = 0, ile = 0;
  34. int * domin = new int[11];
  35. for (int i = 0; i < d_range; i++) {
  36. domin[i] = 0;
  37. }
  38. for (int i = 0; i < d_size; i++) {
  39. if (++domin[d_tab[i]] > najw) najw = domin[d_tab[i]];
  40. }
  41. for (int i = 0; i < d_range; i++) {
  42. if (domin[i] == najw) ile++;
  43. }
  44. if (ile != d_range - 1) {
  45. cout << "Wszystkie dominanty: " << endl;
  46. for (int i = 0; i < d_size; i++) {
  47. if (domin[i] == najw) cout << i << endl;
  48. }
  49. cout << "Powtarzaja sie po " << najw << " razy" << endl;
  50. }
  51. else cout << "Nie ma zadnej dominanty" << endl;
  52. int * medtab = new int[d_size];
  53. int med_i = 0;
  54. for (int i = 0; i < d_range; i++) {
  55. for (int j = 0; j < domin[i]; j++) {
  56. medtab[med_i] = i;
  57. med_i++;
  58. }
  59. }
  60. medi(medtab);
  61. delete[] domin;
  62. delete[] medtab;
  63. }
  64.  
  65. void medi(int * m_tab, int m_size)
  66. {
  67. int m_s;
  68. if (m_size % 2 == 1) cout << "Mediana tego zbioru to " << m_tab[(m_size+1)/2] << endl;
  69. else cout << "Mediana tego zbioru to " << float((m_tab[m_size / 2] + m_tab[m_size / 2 + 1])) / 2 << endl;
  70. cout << "Podaj liczbe do wyszukiwania = ";
  71. cin >> m_s;
  72. szukaj(m_tab, m_size, m_s);
  73. }
  74.  
  75. void szukaj(int * s_tab, int s_size, int s)
  76. {
  77. int med;
  78. if (s_size % 2 == 1) med = s_tab[(s_size + 1) / 2];
  79. else med = float((s_tab[s_size / 2] + s_tab[s_size / 2 + 1])) / 2;
  80. if (s > med) {
  81. cout << "dalej?"; // DOKONCZYC
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement