Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <vector>
- //#include <time.h>
- using namespace std;
- struct wdp
- {
- vector<int> liczby;
- vector<int> wystapienia;
- };
- void linia()
- {
- cout << endl;
- cout << "---------------------------------" << endl;
- cout << endl;
- }
- void wypisz(vector<int> tab)
- {
- for (int i = 0; i < tab.size(); i++)
- {
- cout << tab[i] << " ";
- }
- cout << endl;
- }
- void wypisz(wdp zm)
- {
- cout << " Liczby:";
- wypisz(zm.liczby);
- cout << "Wystapienia:";
- wypisz(zm.wystapienia);
- }
- int maksimum(vector<int> tab)
- {
- int max = 0;
- for (int i = 0; i < tab.size(); i++)
- {
- if (tab[i] > max)
- max = tab[i];
- }
- return max;
- }
- int suma(vector<int> tab)
- {
- int suma = 0;
- for (int i = 0; i < tab.size(); i++)
- {
- suma += tab[i];
- }
- return suma;
- }
- int index(vector<int> tab, int element)
- {
- for (int i = 0; i < tab.size(); i++)
- {
- if (tab[i] == element)
- return i;
- }
- return -1;
- }
- bool czyNalezy(vector<int> tab, int element)
- {
- return index(tab, element) > -1;
- }
- bool czyZawiera(vector<int> tab1, vector<int> tab2)
- {
- for (int i = 0; i < tab2.size(); i++)
- {
- if (!czyNalezy(tab1, tab2[i]))
- return false;
- }
- return true;
- }
- vector<int> unikalnosc(vector<int> tab)
- {
- vector<int> unikalna;
- for (int i = 0; i < tab.size(); i++)
- {
- if (!czyNalezy(unikalna, tab[i]))
- unikalna.push_back(tab[i]);
- }
- return unikalna;
- }
- vector<int> wybierz(vector<int> tab, int dzielnik, int reszta)
- {
- vector<int> wybrane;
- for (int i = 0; i < tab.size(); i++)
- {
- if (tab[i] % dzielnik == reszta)
- wybrane.push_back(tab[i]);
- }
- return wybrane;
- }
- wdp czestosc(vector<int> tab)
- {
- wdp wynik;
- for (int i = 0; i < tab.size(); i++)
- {
- int ind = index(wynik.liczby, tab[i]);
- if (ind == -1)
- {
- wynik.liczby.push_back(tab[i]);
- wynik.wystapienia.push_back(1);
- }
- else wynik.wystapienia[ind]++;
- }
- return wynik;
- }
- int inwersje(vector<int> tab)
- {
- int ilosc = 0;
- for (int i = 0; i < tab.size() - 1; i++)
- for (int j = i + 1; j < tab.size(); j++)
- if (tab[j] < tab[i])
- ilosc++;
- return ilosc;
- }
- vector<int> sortuj(vector<int> tab)
- {
- for (int i = 0; i < tab.size() - 1; i++)
- for (int j = i + 1; j < tab.size(); j++)
- if (tab[j] < tab[i])
- swap(tab[j], tab[i]);
- return tab;
- }
- vector<int> generuj(int n, int min, int max)
- {
- vector<int> wynik;
- int dl = max - min + 1;
- for (int i = 0; i < n; i++)
- {
- int liczba = rand() % dl + min;
- wynik.push_back(liczba);
- }
- return wynik;
- }
- vector<int> generuj(int n, int max = 50)
- {
- return generuj(n, 0, max);
- }
- int sumar(vector<int> tab,int wybrany)
- {
- int suma = 0;
- for (int i = 0; i < tab.size(); i++)
- {
- suma += abs(tab[i]-wybrany);
- }
- return suma;
- }
- int main()
- {
- //srand(time(NULL));
- vector<int> tablica1 = generuj(10,20);
- vector<int> tablica2 = generuj(5,20);
- int element = 8;
- cout << "Numer albumu: 156357" << endl;
- cout << "------------------------" << endl;
- cout << endl;
- cout << "Tablica1: "; wypisz(tablica1);
- cout << "Tablica2: "; wypisz(tablica2);
- cout << "Szukany element: " << element << endl;
- linia();
- cout << "Najwiekszy element tablicy1: " << maksimum(tablica1) << endl;
- cout << "Suma elementow w tablicy1: " << suma(tablica1) << endl;
- linia();
- cout << "Czy element " << element << " nalezy do tablicy1? ";
- if (czyNalezy(tablica1, element)) cout << "TAK. Znajduje sie pod indexem " << index(tablica1, element) << endl;
- else cout << "NIE" << endl;
- cout << "Czy tablica1 zawiera sie w tablicy2? ";
- if (czyZawiera(tablica1, tablica2)) cout << "TAK" << endl;
- else cout << "NIE" << endl;
- linia();
- cout << "Tablica1 w wersji unikalnej: ";
- wypisz(unikalnosc(tablica1));
- cout << "Liczby parzyste z tablicy1: ";
- wypisz(wybierz(tablica1, 2, 0));
- linia();
- wypisz(czestosc(tablica1));
- linia();
- cout << "Ilosc inwersji: " << inwersje(tablica1) << endl;
- cout << "Posortowana tablica: ";
- wypisz(sortuj(tablica1));
- linia();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement