Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //pokaz, min/max, sumav, czynalezy, czyzawiera, unikalnosc, index, wybierz, struct czestotliwosc, pokaz (struct), inwersja
- #include "pch.h"
- #include <iostream>
- #include <vector>
- #include<ctime>
- using namespace std;
- struct czestotliwosc
- {
- vector<int>liczby;
- vector<int>wystapienia;
- };
- vector<int>generuj(int ile = 20, int zakres = 10)
- {
- vector<int>wynik;
- for (int i = 0; i < ile; i++)
- wynik.push_back(rand() % zakres);
- return wynik;
- }
- vector<int>generuj2(int ile, int min, int max)
- {
- vector<int>wynik;
- int dl = max - min + 1;
- for (int i = 0; i < ile; i++)
- {
- int liczba = rand() % dl + min;
- wynik.push_back(liczba);
- }
- return wynik;
- }
- vector<int>generuj2(int ile, int max = 50)
- {
- return generuj2(ile, 0, max);
- }
- void pokaz(vector<int>tab1)
- {
- for (int i = 0; i < tab1.size(); i++)
- cout << tab1[i] << " ";
- cout << endl;
- }
- int min(vector<int>tab1)
- {
- int min = tab1[0];
- for (int i = 0; i < tab1.size(); i++)
- if (tab1[i] < min)
- min = tab1[i];
- return min;
- }
- int max(vector<int>tab1)
- {
- int max = tab1[0];
- for (int i = 0; i < tab1.size(); i++)
- if (tab1[i] > max)
- max = tab1[i];
- return max;
- }
- int sumav(vector<int>tab1)
- {
- int suma = 0;
- for (int i = 0; i < tab1.size(); i++)
- suma += tab1[i];
- return suma;
- }
- bool czynalezy(vector<int>tab1, int elem)
- {
- for (int i = 0; i < tab1.size(); i++)
- if (tab1[i] == elem)
- return true;
- return false;
- }
- 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>unikalonosc(vector<int>tab1)
- {
- vector<int>wynik;
- for (int i = 0; i < tab1.size(); i++)
- if (!czynalezy(wynik, tab1[i]))
- wynik.push_back(tab1[i]);
- return wynik;
- }
- int index(vector<int>tab1, int elem)
- {
- for (int i = 0; i < tab1.size(); i++)
- if (tab1[i] == elem)
- return i;
- return -1;
- }
- vector<int>wybierz(vector<int>tab1, int dzielnik = 2, int reszta = 0)
- {
- vector<int>wynik;
- for (int i = 0; i < tab1.size(); i++)
- if (tab1[i] % dzielnik == reszta)
- wynik.push_back(tab1[i]);
- return wynik;
- }
- czestotliwosc czestosc(vector<int>tab1)
- {
- czestotliwosc wynik;
- for (int i = 0; i < tab1.size(); i++)
- {
- int ind = index(wynik.liczby, tab1[i]);
- if (ind == -1)
- {
- wynik.liczby.push_back(tab1[i]);
- wynik.wystapienia.push_back(1);
- }
- else
- wynik.wystapienia[ind]++;
- }
- return wynik;
- }
- void pokaz(czestotliwosc zm)
- {
- pokaz(zm.liczby);
- pokaz(zm.wystapienia);
- }
- int inwersje(vector<int>tab1)
- {
- int wynik = 0;
- for (int i = 0; i < tab1.size() - 1; i++)
- for (int j = i + 1; j < tab1.size(); j++)
- if (tab1[i] > tab1[j])
- wynik++;
- return wynik;
- }
- void gwiazdki(int wysokosc)
- {
- for (int i = 0; i < wysokosc; i++)
- {
- for (int j = 0; j <= i; j++)
- cout << "x";
- cout << endl;
- }
- }
- void gwiazdki2(int wysokosc=3)
- {
- for (int i = 0; i < wysokosc; ++i)
- {
- for (int ii = 0; ii < wysokosc - i; ++ii)
- cout << " ";
- for (int ii = 0; ii < i * 2 + 1; ++ii)
- cout << "*";
- cout << endl;
- }
- }
- int main()
- {
- srand(time(NULL));
- vector<int>tab1 = generuj(5, 10);
- vector<int>tab2 = generuj();
- pokaz(tab1);
- pokaz(tab2);
- cout << "min z tab1: " << min(tab1) << endl;
- cout << "suma tab1: " << sumav(tab1) << endl;
- cout << "czy 0 nalezy do tab1?: " << czynalezy(tab1, 0) << endl;
- cout << "czy tab1 zawiera tab2?: " << czyzawiera(tab1, tab2) << endl;
- vector<int>tab1u = unikalonosc(tab1);
- cout << "unikalny tab1: ";
- pokaz(tab1u);
- cout << "index 0 w tab1: " << index(tab1, 0) << endl;
- cout << "wybierz parzyste z tab1: ";
- vector<int>tab1par = wybierz(tab1);
- pokaz(tab1par);
- czestotliwosc wynik = czestosc(tab1);
- pokaz(wynik);
- cout << "liczba inwersji: " << inwersje(tab1) << endl;
- //gwiazdki(10);
- //gwiazdki2(5);
- vector<int>generacja2 = generuj2(5,10,20);
- pokaz(generacja2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement