Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- using namespace std;
- #define N 30
- int polje[N];
- char recenica[100];
- int brojac = 0;
- void popuniPolje()
- {
- for(int i=0;i<N;i++)
- polje[i] = rand() % 26 + 1;
- cout<<"Prije: \t\t";
- }
- void ispisPolja()
- {
- for(int i=0;i<N;i++)
- cout<<polje[i]<<" ";
- cout<<endl;
- }
- void zamijeni(int *a, int *b)
- {
- int zamjena = *a;
- *a = *b;
- *b = zamjena;
- }
- void bubbleSort()
- {
- for(int i=0;i<N-1;i++)
- {
- bool sortirano = true;
- for(int j=0;j<N-1-i;j++)
- {
- if(polje[j] > polje[j+1])
- {
- sortirano = false;
- zamijeni(&polje[j],&polje[j+1]);
- }
- }
- if(sortirano)
- break;
- }
- cout<<"Bubble sort:\t";
- }
- void izmjesajPolje()
- {
- for(int i=0;i<100;i++)
- {
- int izmjesaj1 = rand() % 30;
- int izmjesaj2 = rand() % 30;
- zamijeni(&polje[izmjesaj1],&polje[izmjesaj2]);
- }
- cout<<"Izmjesano: \t";
- }
- void selectionSort()
- {
- for(int i=0;i<N;i++)
- {
- int min = i;
- for(int j=i+1;j<N;j++)
- {
- if(polje[j] < polje[min])
- min = j;
- }
- zamijeni(&polje[i],&polje[min]);
- }
- cout<<"Selction sort: \t";
- }
- void zamijeniChar(char *a, char *b)
- {
- char zamjena = *a;
- *a = *b;
- *b = zamjena;
- }
- void unesiRecenicu()
- {
- cout<<"Unesi recenicu: ";
- gets(recenica);
- }
- void ispisRecenice()
- {
- cout<<"Recenica: \t";
- for(int i=0;i<brojac;i++)
- {
- if(recenica[i]!=' ' && recenica[i] != recenica[i+1])
- cout<<recenica[i];
- }
- cout<<endl;
- }
- void prebrojiElemente()
- {
- for(int i=0;recenica[i]!='\0';i++)
- brojac++;
- }
- void poredajElemente_u_Recenici()
- {
- for(int i=0;i<brojac-1;i++)
- {
- int min = i;
- for(int j=i+1;j<brojac;j++)
- {
- if(recenica[j] < recenica[min])
- min = j;
- }
- zamijeniChar(&recenica[i],&recenica[min]);
- }
- }
- void binarnoPretrazivanje()
- {
- cout<<"Unesi broj: \t";
- int g=29;
- int d=0;
- int unos;
- cin>>unos;
- while(true)
- {
- int s=(d+g)/2;
- if(unos==polje[s])
- {
- cout<<"Broj "<<unos<<" se nalazi u polju"<<endl;
- break;
- }
- if(d>g)
- {
- cout<<"Broj "<<unos<<" se ne nalazi u polju"<<endl<<"Pokusaj ponovno: ";
- g=29;
- d=0;
- cin>>unos;
- }
- else if(polje[s]<unos)
- d=s+1;
- else if(polje[s]>unos)
- g=s-1;
- }
- }
- int main()
- {
- srand(time(NULL));
- popuniPolje();
- ispisPolja();
- bubbleSort();
- ispisPolja();
- izmjesajPolje();
- ispisPolja();
- selectionSort();
- ispisPolja();
- unesiRecenicu();
- prebrojiElemente();
- poredajElemente_u_Recenici();
- ispisRecenice();
- binarnoPretrazivanje();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement