Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct Student
- {
- string prezime, ime;
- };
- int binarnaKraj(Student niz[], int maxGr, Student novi, int minGr=0)
- {
- if(minGr>maxGr)
- return -1;
- else
- {
- if(novi.ime[0] == niz[(minGr+maxGr)/2].ime[0] && novi.prezime == niz[(minGr+maxGr)/2].prezime[0]){
- if((niz[(minGr+maxGr)/2+1].ime[0]== novi.ime[0] && novi.prezime == niz[(minGr+maxGr)/2+1].prezime[0]) || (niz[(minGr+maxGr)/2-1].ime[0]== novi.ime[0] && novi.prezime == niz[(minGr+maxGr)/2-1].prezime[0]))
- return binarnaKraj(niz, maxGr+1, element, minGr);
- else
- return (minGr+maxGr)/2;
- }
- else if(element < niz[(minGr+maxGr)/2])
- {
- return binarnaKraj(niz, (minGr+maxGr)/2-1, element, minGr);
- }
- else
- {
- return binarnaKraj(niz, maxGr, element, (minGr+maxGr)/2+1);
- }
- }
- }
- int binarnaPocetak(Student* niz, int maxGr, Student novi, int minGr=0)
- {
- if(minGr>maxGr)
- return -1;
- else
- {
- if(novi.ime[0] == niz[(minGr+maxGr)/2].ime[0] && novi.prezime == niz[(minGr+maxGr)/2].prezime[0]){
- if((niz[(minGr+maxGr)/2+1].ime[0]== novi.ime[0] && novi.prezime == niz[(minGr+maxGr)/2+1].prezime[0]) || (niz[(minGr+maxGr)/2-1].ime[0]== novi.ime[0] && novi.prezime == niz[(minGr+maxGr)/2-1].prezime[0]))
- return binarnaPocetak(niz, maxGr-1, element, minGr);
- else
- return (minGr+maxGr)/2;
- }
- else if(element < niz[(minGr+maxGr)/2])
- {
- return binarnaPocetak(niz, (minGr+maxGr)/2-1, element, minGr);
- }
- else
- {
- return binarnaPocetak(niz, maxGr, element, (minGr+maxGr)/2+1);
- }
- }
- }
- string dajEmail(Student studenti[], int brojStudenata, Student novi)
- {
- int broj=binarnaKraj(studenti, brojStudenata, novi)-binarnaPocetak(studenti, brojStudenata, novi);
- string s1=novi.ime[0];
- string s2=novi.prezime;
- char s3=char(broj);
- s1+=s2;
- return s1+=broj;
- }
- int main()
- {
- Student niz[2]= {{"Adijata", "Vukas"}, {"Adela", "Vukas"}};
- cout << dajEmail(niz, 2 , {"Amela", "Vukas"});
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement