1. Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.
    Сокриј

Помош околу задача.

Дискусија во форумот 'C // C++' започната од steelseries, 22 Јануари 2019.

  1. steelseries

    steelseries
    Gaining Experience

    668
    398
    20 Декември 2015
    Машко
    Слика од текстот на задачата :
    Screenshot

    Мојот код :
    [C++] forum.it.mk - Pastebin.com

    Неможам да го сконтам делот
    void najskapKoncert(Koncert ** koncerti, int n) – во која ќе се испечати називот и цената на најскапиот концерт во низата. Дополнително, да се испечати и колку од концертите се електронски, а колку не во формат:

    [Електронски концерти: X од вкупно Y.]

    ако некој можи да помогни благодарам.(тоа што ќе го напишете ставете коментар што што значи да не се изгубам.


    Го најдов ова решение и не ми е јасно. Објаснете ми како да сум тотален noob.


    void najskapKoncert(Koncert **koncerti, int n) {
    float sporedba=koncerti[0]->cena();
    int max = 0;
    for (int i=1; i<n; i++) {
    if (sporedba<koncerti->cena()) {
    sporedba = koncerti->cena();
    max = i;
    }
    }
    cout<<"Najskap koncert: "<<koncerti[max]->getNaziv()<<" "<<koncerti[max]->cena()<<endl;

    int brojElektronski = 0;
    for (int i=0; i<n; i++) {
    if (ElektronskiKoncert *ek = dynamic_cast<ElektronskiKoncert*>(koncerti)) {
    brojElektronski++;
    }
    }
    cout<<"Elektronski koncerti: "<<brojElektronski<<" od vkupno "<<n<<endl;
    }
     
  2. neraaa

    neraaa
    Intern

    4
    7
    17 Јануари 2014
    Машко
    Код:
    void najskapKoncert(Koncert **koncerti, int n) {
        float sporedba = numeric_limits<float>::min(); // земи ја најмалата можна вредност за тип float наместо да ја земеш вредноста на првио елемент у низата
        //int max = 0; не користи клучни зборови како имиња на променливи
        int index = 0; // тука го зачувуваш индексо на концерто со највисока цена
        for (int i=0; i<n; i++) { // изминување на сите концерти
            if (sporedba<koncerti[i]->cena()) { // ако цената на koncert[i] е поголема од sporedba, sporedba
                sporedba = koncerti[i]->cena(); // ја зема цената на концерто, а у index се
                index = i; //зачувува индексо од низата дека шо се наоѓа моменталнио концерт
            }
        }
        cout<<"Najskap koncert: "<<koncerti[index]->getNaziv()<<" "<<koncerti[index]->cena()<<endl;
    }
    
    Исто така има проблем кај конструкторо Koncert(char *ime, char *lokacija, float sezonskiPopust, float cenaBilet). Кога доделуваш вредност преку конструктор користи this->.
    Код:
    this->sezonskiPopust=sezonskiPopust;
    this->cenaBilet=cenaBilet;
    
    Код:
    void setCena(float cena){
            this->cenaBilet = cena; // кога правеш сет на променлива не ти треба return
    }
    
    Код:
    static float getSezonskiPopust() { // не може дa пристапеш до non-static променливи у static метод
        return sezonskiPopust; // т.е. овај метод е независен од било кој објект од оваа класа
    }
    
    Код:
    int brojElektronski = 0;
    for (int i=0; i<n; i++) {
    if (ElektronskiKoncert *ek = dynamic_cast<ElektronskiKoncert*>(koncerti[i])) {
    brojElektronski++; // ако dynamic_cast се изврше успешно т.е. ако koncerti[i] е ElektronskiKoncert
    } // тогај dynamic_cast ќе врне ElektronskiKoncert
    }
    
     
Слични теми
  1. Halcyon
    Одговори:
    1
    Прегледи:
    645
  2. mendi19
    Одговори:
    16
    Прегледи:
    1,404
  3. D@re
    Одговори:
    4
    Прегледи:
    1,386
  4. alexandar11
    Одговори:
    10
    Прегледи:
    1,565
  5. crnecON
    Одговори:
    9
    Прегледи:
    1,894
Вчитување...

Сподели

Вчитување...