Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- int zakres(int x) {
- cin>>x;
- return x;
- }
- int iloscele() {
- int n;
- cout<<"Podaj ilosc elementow n: "<<endl;
- cin>>n;
- return n;
- }
- void gen(int tab[], int n, int a, int b) {
- for(int i=0;i<n;i++) {
- tab[i] = rand()%(b+1)+a;
- }
- cout<<endl<<"Liczby zostaly wygenerowane."<<endl;
- }
- int wyswietl(int tab[], int n) {
- cout<<"Wygenerowane liczby to: ";
- for(int i=0;i<n;i++) {
- cout<<tab[i]<<" ";
- }
- }
- void sortuj_wybor(int tab[], int n) {
- for(int j=0;j<n-1;j++) {
- int temp, pmin = j;
- for(int i=j+1;i<n;i++)
- if(tab[i]<tab[pmin]) pmin = i;
- temp = tab[pmin];
- tab[pmin] = tab[j];
- tab[j] = temp;
- }
- cout<<"Liczby zostaly posortowane.";
- }
- void sortuj_babel(int tab[], int n) {
- for (int i=0; i<9; i++)
- for (int j=0; j<9; j++)
- if (tab[j]>tab[j+1])
- swap(tab[j], tab[j+1]);
- cout<<"Liczby zostaly posortowane.";
- }
- void sortuj_wstawianie(int tab[], int n) {
- for(int j=n-2;j>=0;j--) {
- int x = tab[j];
- int i = j+1;
- while((i<n) && (x>tab[i])) {
- tab[i-1] = tab[i];
- i++;
- }
- tab[i-1] = x;
- }
- cout<<"Liczby zostaly posortowane.";
- }
- void maksymalna(int tab[], int n, int a) {
- int max=a;
- for(int i=0;i<n;i++) {
- if(tab[i]>max) {
- max = tab[i];
- }
- }
- cout<<"Liczba maksymalna to: "<<max<<endl;
- }
- void minimalna(int tab[], int n, int b) {
- int min=b;
- for(int i=0;i<n;i++) {
- if(tab[i]<min) {
- min = tab[i];
- }
- }
- cout<<"Liczba minimalna to: "<<min<<endl;
- }
- void srednia(int tab[], int n) {
- int suma=0, srednia=0;
- for(int i=0;i<n;i++) {
- suma = suma + tab[i];
- }
- srednia = suma / n;
- cout<<"Srednia liczb wynosi: "<<srednia<<endl;
- }
- void wystapienia(int tab[], int n) {
- int liczba, ilosc=0;
- cout<<"Podaj liczbe, ktorej ilosc wystapien chcesz sprawdzic: "<<endl;
- cin>>liczba;
- for(int i=0;i<n;i++) {
- if(tab[i] == liczba) {
- ilosc++;
- }
- }
- cout<<"Ilosc wystapien liczby: "<<liczba<<" wynosi: "<<ilosc<<endl;
- }
- void wystapienia_przedzial(int tab[], int n) {
- int prz_min, prz_max, ilosc_prz=0;
- cout<<"Podaj przedzial minimalny: "<<endl;
- cin>>prz_min;
- cout<<"Podaj przedzial maksymalny: "<<endl;
- cin>>prz_max;
- for(int i=0;i<n;i++) {
- if(tab[i] > prz_min && prz_max > tab[i]) {
- ilosc_prz++;
- }
- }
- cout<<"Ilosc wystapien liczb z przedzialu od: "<<prz_min<<" do: "<<prz_max<<" wynosi: "<<ilosc_prz<<endl;
- }
- void dzielic3(int tab[], int n) {
- cout<<"Wygenerowane liczby z wynikami podzielnymi przez 3 zamienionymi na 0 to: "<<endl;
- for(int i=0;i<n;i++) {
- if(tab[i]%3 == 0) {
- tab[i] = 0;
- }
- cout<<tab[i]<<" ";
- }
- }
- void wystapienia_po_min(int tab[], int n, int b) {
- int elem = n;
- int ctab[elem], min2 = b, f = 0, ilosc2 = 0;
- int wlacznik = 1;
- for(int i=0;i<n;i++) {
- ctab[i] = tab[i];
- } // KOPIOWANIE
- for(int j=n-2;j>=0;j--) {
- int i = j+1;
- int x = ctab[j];
- while((i<n) && (x>ctab[i])) {
- ctab[i-1] = ctab[i];
- i++;
- }
- ctab[i-1] = x;
- } // SORTOWANIE
- for(int i=0;i<n;i++) {
- if(ctab[i]<min2) {
- min2 == ctab[i];
- }
- } // SZUKANIE MINIMUM
- for(int i=0;i<n;i++) {
- if(ctab[i] == min2) {
- f == i;
- f++;
- }
- } // POZYCJA TABLICY W KTOREJ WARTOSC JEST INNA OD MINIMUM
- for(int i=0;i<n;i++) {
- if(ctab[i] == ctab[f+1]) {
- ilosc2++;
- }
- } // LICZENIE ILOSCI WYSTAPIEN WARTOSCI INNEJ OD MINIMUM
- cout<<"Ilosc wystapien liczby kolejnej po minimalnej wynosi: "<<ilosc2<<endl;
- }
- int main() {
- srand(time(0));
- int tab[1000], n, a, b, wybor=99;
- while(wybor!=0) {
- cout<<endl<<"______________________________________"<<endl;
- cout<<"|0. Wyjscie |" <<endl;
- cout<<"|1. Zakres liczb |" <<endl;
- cout<<"|2. Ilosc elementow n |" <<endl;
- cout<<"|3. Generowanie tablicy |" <<endl;
- cout<<"|4. Wyswietlanie |" <<endl;
- cout<<"|5. Sortowanie (wybor) |" <<endl;
- cout<<"|6. Sortowanie babelkowe |" <<endl;
- cout<<"|7. Sortowanie (wstawianie) |" <<endl;
- cout<<"|8. Liczba maksymalna |" <<endl;
- cout<<"|9. Liczba minimalna |" <<endl;
- cout<<"|10. Srednia liczb |" <<endl;
- cout<<"|11. Ilosc wystapien |" <<endl;
- cout<<"|12. Ilosc wystapien z przedzialu |" <<endl;
- cout<<"|13. Liczby podzielne przez 3 |" <<endl;
- cout<<"|14. Ilosc wystapien liczby po minimum|" <<endl;
- cout<<"|_____________________________________|" <<endl;
- cout<<endl<<"Wybierz dzialanie: ";
- cin>>wybor;
- switch(wybor) {
- case 0:
- cout<<endl<<"Wychodzenie z programu...";
- break;
- case 1:
- cout<<"Podaj zakres minimalny: ";
- a=zakres(a);
- cout<<"Podaj zakres maksymalny: ";
- b=zakres(b);
- break;
- case 2:
- n = iloscele();
- break;
- case 3:
- gen(tab, n, a, b);
- break;
- case 4:
- wyswietl(tab, n);
- break;
- case 5:
- sortuj_wybor(tab, n);
- break;
- case 6:
- sortuj_babel(tab, n);
- break;
- case 7:
- sortuj_wstawianie(tab, n);
- break;
- case 8:
- maksymalna(tab, n, a);
- break;
- case 9:
- minimalna(tab, n, b);
- break;
- case 10:
- srednia(tab, n);
- break;
- case 11:
- wystapienia(tab, n);
- break;
- case 12:
- wystapienia_przedzial(tab, n);
- break;
- case 13:
- dzielic3(tab, n);
- break;
- case 14:
- wystapienia_po_min(tab, n, b);
- break;
- default:
- cout<<endl<<"Nieprawidlowe polecenie";
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment