Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Да се креира структура Igrac во која се чуваат податоци за еден играч на компјутерската игра. За играчот се чуваат информации за корисничкото име на играчот (низа од 15 знаци), број на ниво до кој играчот е стигнат (цел број) и број на освоени поени (цел број) (10 поени).
- Потоа да се креирa структура KompjuterskaIgra во која се чуваат податоци за името на играта (низа од 20 знаци), низа од играчи кои ја играат играта (најмногу 30) и бројот на играчи. (10 поени)
- Треба да се направи функција со потпис (15 поени)
- void najdobarIgrac(KompjuterskaIgra *lista, int n)
- Оваа функција треба да го испечати името на најдобриот играч на онаа игра која има најголема популарност (ја играат наjголем број на играчи). Најдобар играч е играчот кој има најголем број на освоени поени. Ако има повеќе играчи со ист максимален број на освоени поени, најдобар е играчот кој има достигнато најголемо ниво.
- Печатењето е во форматот: "Najdobar igrac e igracot so korisnicko ime XXXXX koj ja igra igrata YYYYYY". (XXXXXX е корисничкото име на најдобриот играч,а YYYYY е името на играта која ја играат најголем број на играчи)
- (Забелешка: секогаш ќе има точно еден најдобар играч)
- Функционалност на задачата и дополнување на main функцијата (10 поени)
- Забелешка: Задачата да се реши во програмскиот јазик C+*/
- #include <iostream>
- #include <cstring>
- using namespace std;
- struct Igrac { //декларирање играч
- char Ime[20];
- int nivo;
- int poeni;
- };
- struct KompjuterskaIgra { //декларирање компјутерска игра
- char ImeIgra[20];
- Igrac igraci[20]; //низа од играчи структ
- int brigraci;
- };
- void najdobarIgrac(KompjuterskaIgra *lista, int n){ // најдобар играч во листа
- int max=0, maxIndex=0;
- for(int i=0; i<n; i++){
- if(lista[i].brigraci>max){ //ако играта има повеќе играчи од максот
- max=lista[i].brigraci; // максимум = број играчи за проверка
- maxIndex=i; // макс индекс во низата за проверка
- }
- }
- int maxPoeni=0;
- int maximumIndex=0;
- for(int i=0; i<lista[maxIndex].brigraci; i++){ //игра со макс индеск (таа со најмногу играчи)
- if(lista[maxIndex].igraci[i].poeni > maxPoeni){ (ако поени на играчот се повеќе од макс поени
- maxPoeni=lista[maxIndex].igraci[i].poeni; //намести макс поени
- maximumIndex=i; //максимален индекс на низа од играчот со најмногу поени
- }
- }
- cout << "Najdobar igrac e igracot so korisnicko ime" << " " << lista[maxIndex].igraci[maximumIndex].Ime
- << " " << "koj ja igra igrata " << lista[maxIndex].ImeIgra << endl; // ова го разбираш
- }
- int main(){
- int n;
- cin>>n; //se cita brojot na igri
- //cout<<n<<endl;
- KompjuterskaIgra igri[100];
- for (int i=0;i<n;i++){
- cin>>igri[i].ImeIgra;
- //cout<<igri[i].ImeIgra<<endl;
- cin>>igri[i].brigraci;
- //cout<<igri[i].brigraci<<endl;
- for (int j=0;j<igri[i].brigraci;j++){
- //cout<<j<<"eve go"<<endl;
- //strcpy(cin,lista[j].igraci[i].Ime);
- //lista[j].igraci[i].Ime=new char [strlen()]
- //getline(cin,igri[i].igraci[j].Ime);
- cin>>igri[i].igraci[j].Ime;
- //cout<<igri[i].igraci[j].Ime<<endl;
- cin>>igri[i].igraci[j].nivo;
- cin>>igri[i].igraci[j].poeni;
- };
- };
- najdobarIgrac(igri,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment