Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- int *tab;
- int n;
- void domina(int*, int = 20, int = 11);
- void medi(int*, int = 20);
- void szukaj(int*, int, int);
- int main()
- {
- srand(time(NULL));
- //cout << "Podaj wielkosc tablicy: ";
- n = 20; //cin >> n;
- tab = new int[n];
- for (int i = 0; i < n; i++) {
- cout << (tab[i] = (rand() % 11)) << endl;
- }
- domina(tab);
- delete[] tab; return 0;
- }
- void domina(int * d_tab, int d_size, int d_range)
- {
- int najw = 0, ile = 0;
- int * domin = new int[11];
- for (int i = 0; i < d_range; i++) {
- domin[i] = 0;
- }
- for (int i = 0; i < d_size; i++) {
- if (++domin[d_tab[i]] > najw) najw = domin[d_tab[i]];
- }
- for (int i = 0; i < d_range; i++) {
- if (domin[i] == najw) ile++;
- }
- if (ile != d_range - 1) {
- cout << "Wszystkie dominanty: " << endl;
- for (int i = 0; i < d_size; i++) {
- if (domin[i] == najw) cout << i << endl;
- }
- cout << "Powtarzaja sie po " << najw << " razy" << endl;
- }
- else cout << "Nie ma zadnej dominanty" << endl;
- int * medtab = new int[d_size];
- int med_i = 0;
- for (int i = 0; i < d_range; i++) {
- for (int j = 0; j < domin[i]; j++) {
- medtab[med_i] = i;
- med_i++;
- }
- }
- medi(medtab);
- delete[] domin;
- delete[] medtab;
- }
- void medi(int * m_tab, int m_size)
- {
- int m_s;
- if (m_size % 2 == 1) cout << "Mediana tego zbioru to " << m_tab[(m_size+1)/2] << endl;
- else cout << "Mediana tego zbioru to " << float((m_tab[m_size / 2] + m_tab[m_size / 2 + 1])) / 2 << endl;
- cout << "Podaj liczbe do wyszukiwania = ";
- cin >> m_s;
- szukaj(m_tab, m_size, m_s);
- }
- void szukaj(int * s_tab, int s_size, int s)
- {
- int med;
- if (s_size % 2 == 1) med = s_tab[(s_size + 1) / 2];
- else med = float((s_tab[s_size / 2] + s_tab[s_size / 2 + 1])) / 2;
- if (s > med) {
- cout << "dalej?"; // DOKONCZYC
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement