Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Препоръчан отговор

Здравейте, задачата ми е да съставя функция, която намира най‐често срещания елемент и колко пъти той се среща в списък с начален указател pstart. Направила съм функция за търсене,но тя е за намиране на конкретен елемент.Съвети?

#include <iostream>

using namespace std;
struct elem
{
    int key;
    elem* next;
}*pstart = NULL;
void add(int n)
{
    elem* p = pstart;
    pstart = new elem;
    pstart->key = n;
    pstart->next = p;
}
void izvedi()
{
    if (pstart)
    {
        elem* p = pstart;
        cout << "Spisukut e " << endl;
        while (p)
        {
            cout << p->key << "  ";
            p = p->next;
        }
    }
    else
        cout << "\n Prazen spisuk";
}
void search(int  n)
{
    elem* p = pstart;
    if (pstart)
    {
        while ((p->key != n) && (p->next))
            p = p->next;
        if (p->key == n)
            cout << "\nTurseniq element e nameren";
        else
            cout << "\nElementut ne e nameren";
    }
    else
        cout << "Spisukut e prazen";
}

void element()
{
    int num;
    do {
        cout << "Vuvedi element ";
        cin >> num;
        add(num);
    } while (num != 0);
    izvedi();
    cout << "\nVuvedi stoinost,koqto iskash da potursish?";
    int n1;
    cin >> n1;
    search(n1);

}

int main()
{
   
    int izbor;
    char izborDrOp;

    system("cls"); // изчистване на екрана-
    do { //Цикъл за менюто
        do {
            cout << endl << "\n\t\t\t ****************** M E N U ******************\n" << endl //извеждаме на екрана
                << "\n\t\t\t 1.Izvejdane na stojnost: \n" << endl //извеждаме на екрана
                << "\n\t\t\t 2.Tarsene na element:  \n" << endl //извеждаме на екрана
                << "\n\t\t\t 3.Izvejdane na elemen': \n" << endl //извеждаме на екрана
                << "\n\t\t\t *******************************************************" << endl //извеждаме на екрана
                << "\n\t\t\t Вашият избор:" << ""; //извеждаме на екрана
            cin >> izbor; // Въвеждане на число от масива
        } while (!(izbor > 0 && izbor < 3)); // докато 'izbor' е от 1 до 10

        switch (izbor)
        {
        case 1:system("color F1");
        {
            system("cls"); // изчистване на екрана
            element();
        }
        break;
        case 2:system("color F5");
        {system("cls"); // изчистване на екрана
        int n;
        search(n);
        }
        break;
        case 3:system("color FA");
        {system("cls"); 
        izvedi();

        }break;
        }


        cout << "Друга операция ? (y/n)";
        cin >> izborDrOp;
    } while (izborDrOp == 'y' || izborDrOp == 'n');
    return 0;
    //system("pause");
}

 

Линк към коментара
Сподели в други сайтове

Може да си направиш един map тип елемент:брой и вътре да слагаш всеки елемент и колко пъти е намерен. След това проверяваш map-а при всеки следващ дали този елемент го има и ако го има, увеличаваш стойността на брояча срещу елемента. Накрая намираш в map-а елемента с най-голям брояч и го показваш.

С елемнтарно търсене в гугъл се намира:

https://www.geeksforgeeks.org/frequent-element-array/

Линк към коментара
Сподели в други сайтове

int maxlist(int &cmax)
{
    elem *p, *t=pstart;
    int n,nmax,c;
    cmax=0;
    while (t)
    {
        n=t->key;
        c=1;
        p=t->next;
        while (p)
        {
            if (p->key==n) ++c;
            p=p->next;
        }
        if (c>cmax)
        {
             nmax=n;
             cmax=c;
        }
        t=t->next;
    }
    return nmax;
}

функцията ти връща най-често срещания елемент, като параметър трябва да и подадеш променлива в която да запише колко пъти се среща.

Списъка или предварително го проверяваш дали е празен или след функцията дали броя е 0 и извеждаш подходящо съобщение, че списъка е празен.

Линк към коментара
Сподели в други сайтове

преди 1 час, ined написа:
int maxlist(int &cmax)
{
    elem *p, *t=pstart;
    int n,nmax,c;
    cmax=0;
    while (t)
    {
        n=t->key;
        c=1;
        p=t->next;
        while (p)
        {
            if (p->key==n) ++c;
            p=p->next;
        }
        if (c>cmax)
        {
             nmax=n;
             cmax=c;
        }
        t=t->next;
    }
    return nmax;
}

функцията ти връща най-често срещания елемент, като параметър трябва да и подадеш променлива в която да запише колко пъти се среща

Благодаря! Но функцията ми element() не ми позволява да напиша коя стойност искам да търся

 

Линк към коментара
Сподели в други сайтове

Цитат

Благодаря! Но функцията ми element() не ми позволява да напиша коя стойност искам да търся

И какво общо имат едната с другата функция?

Между другото начина по който вкарваш елементите в списъка е сбъркан - при всяко добавяне на елемент или няколко елементи добавяш и по една нула. Вместо:

 

do {
        cout << "Vuvedi element ";
        cin >> num;
        add(num);
    } while (num != 0);

 

за да не ти добавя нулата в списъка би трябвало да бъде нещо от рода на:

 

    while (1)
    {
        cout << "Vuvedi element ";
        cin >> num;
        if (num==0) break;
        add(num);
    } 

 

 

 

 

 

 

 

Линк към коментара
Сподели в други сайтове

преди 30 минути, ined написа:

И какво общо имат едната с другата функция?

Между другото начина по който вкарваш елементите в списъка е сбъркан - при всяко добавяне на елемент или няколко елементи добавяш и по една нула. Вместо:

 

do {
        cout << "Vuvedi element ";
        cin >> num;
        add(num);
    } while (num != 0);

 

за да не ти добавя нулата в списъка би трябвало да бъде нещо от рода на:

 

    while (1)
    {
        cout << "Vuvedi element ";
        cin >> num;
        if (num==0) break;
        add(num);
    } 

 

 

 

 

 

 

 

Извинявам се, но пак не ми дава да въведа стойоността която да потърся.

Линк към коментара
Сподели в други сайтове

Слагаш по-няколко неща да прави една функция, затова пък в менюто липсват необходимите инструкции.

поизчистил съм я програмата, element() само добавя един или повече елементи към списъка и не прави нищо друго. Останалата логика е в менюто, така по-лесно да се организира какво да се прави по всяка точка.

#include <iostream>

using namespace std;

struct elem
{
    int key;
    elem* next;
}*pstart = NULL;
void add(int n)
{
    elem* p = pstart;
    pstart = new elem;
    pstart->key = n;
    pstart->next = p;
}
void izvedi()
{
    if (pstart)
    {
        elem* p = pstart;
        cout << "Spisukut e " << endl;
        while (p)
        {
            cout << p->key << "  ";
            p = p->next;
        }
    }
    else
        cout << "\n Prazen spisuk";
}
void search(int  n)
{
    elem* p = pstart;
    if (pstart)
    {
        while ((p->key != n) && (p->next))
            p = p->next;
        if (p->key == n)
            cout << "\nTurseniq element e nameren";
        else
            cout << "\nElementut ne e nameren";
    }
    else
        cout << "Spisukut e prazen";
}

void element()
{
    int num;
    while(1)
    {
        cout << "Vuvedi element ";
        cin >> num;
        if (num==0) return;
        add(num);
    } 
}

int main()
{
   
    int izbor;
    char izborDrOp;

    system("cls"); 
    do { 
        do {
            cout << endl << "\n\t\t\t ****************** M E N U ******************\n" << endl 
                << "\n\t\t\t 1.Vavejdane na element(i): \n" << endl 
                << "\n\t\t\t 2.Tarsene na element:  \n" << endl 
                << "\n\t\t\t 3.Izvejdane na elementi': \n" << endl 
                << "\n\t\t\t *******************************************************" << endl 
                << "\n\t\t\t Vashia izbor:" << ""; 
            cin >> izbor; 
        } while (!(izbor > 0 && izbor < 4)); 
        switch (izbor)
        {
        case 1:system("color F1");
        {
            system("cls"); 
            element();
            izvedi();
        }
        break;
        case 2:system("color F5");
        {system("cls"); 
        cout << "\nVuvedi stoinost,koqto iskash da potursish?";
        int n1;
        cin >> n1;
        search(n1);
        }
        break;
        case 3:system("color FA");
        {system("cls"); 
        izvedi();

        }break;
        }


        cout << "\n\nDruga operacia ? (y/n)";
        cin >> izborDrOp;
    } while (izborDrOp == 'y' || izborDrOp == 'Y');
}

 

Линк към коментара
Сподели в други сайтове

преди 19 часа, ined написа:

Слагаш по-няколко неща да прави една функция, затова пък в менюто липсват необходимите инструкции.

поизчистил съм я програмата, element() само добавя един или повече елементи към списъка и не прави нищо друго. Останалата логика е в менюто, така по-лесно да се организира какво да се прави по всяка точка.

#include <iostream>

using namespace std;

struct elem
{
    int key;
    elem* next;
}*pstart = NULL;
void add(int n)
{
    elem* p = pstart;
    pstart = new elem;
    pstart->key = n;
    pstart->next = p;
}
void izvedi()
{
    if (pstart)
    {
        elem* p = pstart;
        cout << "Spisukut e " << endl;
        while (p)
        {
            cout << p->key << "  ";
            p = p->next;
        }
    }
    else
        cout << "\n Prazen spisuk";
}
void search(int  n)
{
    elem* p = pstart;
    if (pstart)
    {
        while ((p->key != n) && (p->next))
            p = p->next;
        if (p->key == n)
            cout << "\nTurseniq element e nameren";
        else
            cout << "\nElementut ne e nameren";
    }
    else
        cout << "Spisukut e prazen";
}

void element()
{
    int num;
    while(1)
    {
        cout << "Vuvedi element ";
        cin >> num;
        if (num==0) return;
        add(num);
    } 
}

int main()
{
   
    int izbor;
    char izborDrOp;

    system("cls"); 
    do { 
        do {
            cout << endl << "\n\t\t\t ****************** M E N U ******************\n" << endl 
                << "\n\t\t\t 1.Vavejdane na element(i): \n" << endl 
                << "\n\t\t\t 2.Tarsene na element:  \n" << endl 
                << "\n\t\t\t 3.Izvejdane na elementi': \n" << endl 
                << "\n\t\t\t *******************************************************" << endl 
                << "\n\t\t\t Vashia izbor:" << ""; 
            cin >> izbor; 
        } while (!(izbor > 0 && izbor < 4)); 
        switch (izbor)
        {
        case 1:system("color F1");
        {
            system("cls"); 
            element();
            izvedi();
        }
        break;
        case 2:system("color F5");
        {system("cls"); 
        cout << "\nVuvedi stoinost,koqto iskash da potursish?";
        int n1;
        cin >> n1;
        search(n1);
        }
        break;
        case 3:system("color FA");
        {system("cls"); 
        izvedi();

        }break;
        }


        cout << "\n\nDruga operacia ? (y/n)";
        cin >> izborDrOp;
    } while (izborDrOp == 'y' || izborDrOp == 'Y');
}

 

а функцията maxlist() не си я добавил нали?

Линк към коментара
Сподели в други сайтове

#include <iostream>

using namespace std;

struct elem
{
    int key;
    elem* next;
}*pstart = NULL;
void add(int n)
{
    elem* p = pstart;
    pstart = new elem;
    pstart->key = n;
    pstart->next = p;
}

int maxlist(int &cmax)
{
    elem *p, *t=pstart;
    int n,nmax,c;
    cmax=0;
    while (t)
    {
        n=t->key;
        c=1;
        p=t->next;
        while (p)
        {
            if (p->key==n) ++c;
            p=p->next;
        }
        if (c>cmax)
        {
             nmax=n;
             cmax=c;
        }
        t=t->next;
    }
    return nmax;
}

void izvedi()
{
    if (pstart)
    {
        elem* p = pstart;
        int num,x;
        cout << "Spisukut e " << endl;
        while (p)
        {
            cout << p->key << "  ";
            p = p->next;
        }
        num=maxlist(x);
        cout<<"\n\nNaj-chesto sreshtan element "<<num<<" x"<<x<<endl;
    }
    else
        cout << "\n Prazen spisuk";
}
void search(int  n)
{
    elem* p = pstart;
    if (pstart)
    {
        while ((p->key != n) && (p->next))
            p = p->next;
        if (p->key == n)
            cout << "\nTurseniq element e nameren";
        else
            cout << "\nElementut ne e nameren";
    }
    else
        cout << "Spisukut e prazen";
}

void element()
{
    int num;
    while(1)
    {
        cout << "Vuvedi element ";
        cin >> num;
        if (num==0) return;
        add(num);
    } 
}

int main()
{
   
    int izbor;
    char izborDrOp;

    system("cls"); 
    do { 
        do {
            cout << endl << "\n\t\t\t ****************** M E N U ******************\n" << endl 
                << "\n\t\t\t 1.Vavejdane na element(i): \n" << endl 
                << "\n\t\t\t 2.Tarsene na element:  \n" << endl 
                << "\n\t\t\t 3.Izvejdane na elementi': \n" << endl 
                << "\n\t\t\t *******************************************************" << endl 
                << "\n\t\t\t Vashia izbor:" << ""; 
            cin >> izbor; 
        } while (!(izbor > 0 && izbor < 4)); 
        switch (izbor)
        {
        case 1:system("color F1");
        {
            system("cls"); 
            element();
            izvedi();
        }
        break;
        case 2:system("color F5");
        {system("cls"); 
        cout << "\nVuvedi stoinost,koqto iskash da potursish?";
        int n1;
        cin >> n1;
        search(n1);
        }
        break;
        case 3:system("color FA");
        {system("cls"); 
        izvedi();

        }break;
        }


        cout << "\n\nDruga operacia ? (y/n)";
        cin >> izborDrOp;
    } while (izborDrOp == 'y' || izborDrOp == 'Y');
}

 

Линк към коментара
Сподели в други сайтове

преди 4 минути, ined написа:
#include <iostream>

using namespace std;

struct elem
{
    int key;
    elem* next;
}*pstart = NULL;
void add(int n)
{
    elem* p = pstart;
    pstart = new elem;
    pstart->key = n;
    pstart->next = p;
}

int maxlist(int &cmax)
{
    elem *p, *t=pstart;
    int n,nmax,c;
    cmax=0;
    while (t)
    {
        n=t->key;
        c=1;
        p=t->next;
        while (p)
        {
            if (p->key==n) ++c;
            p=p->next;
        }
        if (c>cmax)
        {
             nmax=n;
             cmax=c;
        }
        t=t->next;
    }
    return nmax;
}

void izvedi()
{
    if (pstart)
    {
        elem* p = pstart;
        int num,x;
        cout << "Spisukut e " << endl;
        while (p)
        {
            cout << p->key << "  ";
            p = p->next;
        }
        num=maxlist(x);
        cout<<"\n\nNaj-chesto sreshtan element "<<num<<" x"<<x<<endl;
    }
    else
        cout << "\n Prazen spisuk";
}
void search(int  n)
{
    elem* p = pstart;
    if (pstart)
    {
        while ((p->key != n) && (p->next))
            p = p->next;
        if (p->key == n)
            cout << "\nTurseniq element e nameren";
        else
            cout << "\nElementut ne e nameren";
    }
    else
        cout << "Spisukut e prazen";
}

void element()
{
    int num;
    while(1)
    {
        cout << "Vuvedi element ";
        cin >> num;
        if (num==0) return;
        add(num);
    } 
}

int main()
{
   
    int izbor;
    char izborDrOp;

    system("cls"); 
    do { 
        do {
            cout << endl << "\n\t\t\t ****************** M E N U ******************\n" << endl 
                << "\n\t\t\t 1.Vavejdane na element(i): \n" << endl 
                << "\n\t\t\t 2.Tarsene na element:  \n" << endl 
                << "\n\t\t\t 3.Izvejdane na elementi': \n" << endl 
                << "\n\t\t\t *******************************************************" << endl 
                << "\n\t\t\t Vashia izbor:" << ""; 
            cin >> izbor; 
        } while (!(izbor > 0 && izbor < 4)); 
        switch (izbor)
        {
        case 1:system("color F1");
        {
            system("cls"); 
            element();
            izvedi();
        }
        break;
        case 2:system("color F5");
        {system("cls"); 
        cout << "\nVuvedi stoinost,koqto iskash da potursish?";
        int n1;
        cin >> n1;
        search(n1);
        }
        break;
        case 3:system("color FA");
        {system("cls"); 
        izvedi();

        }break;
        }


        cout << "\n\nDruga operacia ? (y/n)";
        cin >> izborDrOp;
    } while (izborDrOp == 'y' || izborDrOp == 'Y');
}

 

А maxlist() не се изпълнява като се сложи в менюто?

Линк към коментара
Сподели в други сайтове

  • 2 седмици по-късно...

Здравейте, моята задача също е от списъци, но има следното условие: Да се състави функция за изваждане на две числа, представени чрез списъци (може и двусвързани). До момента съм написала следния код, но списъците не се извеждат на екран и не се извършва изваждането. Бихте ли ми казали къде греша, тъй като в момента го изучавам и се затруднявам. Ще ви бъда много благодарна, ако ми помогнете. 😊

#include <iostream>

using namespace std;

struct elem {

    int key;

    elem *next;

}

*list1 = NULL, *list2 = NULL, *list3 = NULL;

void add1(int n, elem *start)

{

    elem *p = start;

    start = new elem;

    start ->key = n;

    start ->next = p;

}

void list(elem *start)

{

         elem *p = start;

        cout << "Spisyk:";

        while (p) {

            cout << p->key << "\t";

            p = p->next;

        }

        cout << endl;

}

int main()

{

    int i, j;

    cout << "\n Vyvedete pyrvoto chislo: ";

    do

    {

        cin >> i;

        if (i > 0 && i < 10)

            add1(i, list1);

    } while ((i>=0) && (i<10));

    cout << "\n Vyvedete vtoroto chislo: ";

    do

    {

        cin >> j;

        if (j > 0 && j < 10)

            add1(j, list2);

    } while ((j >= 0) && (j<10));

    elem *p = list1, *q = list2;

    int pr = 0; //Пренос

    int c = 0;

    while ((p != NULL) || (q != NULL))

    {

        c = 0;

        if (p != NULL)

        {

            c -= p->key;

            p = p->next;

        }

        if (q !=NULL)

        {

            c -= q->key;

            q = q->next;

        }

        if (pr > 0)

            c -= pr;

        if (c > 9)

        {

            c -= 10;

            pr = 1;

        }

        else

        pr = 0;

        add1(c, list3);

    }

    if (pr > 0)

        add1(pr, list3);

    list(list3);

}

Линк към коментара
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

  • Разглеждащи това в момента   0 потребители

    • Няма регистрирани потребители разглеждащи тази страница.
  • Подобни теми

    • от WonderfulH1
      Здравейте, първи курс програмиране съм и съм жертва на образователната система в комбинация с онлайн обучението. Тъй като схемата е следната Знания < Лекции < Практика < Домашни < Контролни < Курсови работи... С други думи сам добивам знания от интернет.

      Сблъсках се със следната задача: 
      Съставете алгоритъм и напишете програма за въвеждане координатите на точки и извежда на екрана координатите на онези от тях, които лежат в защрихованата област. Въвеждането се прекратява, когато се въведе точка, съвпадаща с точката, въведена непосредствено преди нея.
      Написах код и стигнах до частта в която трябва да извадя координатите на всички точки попадащи в щрихата.
      *Въпроси под кода*
       
      Признавам имам пропуски в математиката, последният if също не работи както подобава.
      Съответно въпросите са :
      1. По какъв начин да изпиша x,y (в съответния случай arr0 и arr1), за да попаднат извън кръга, но в щрихата  на I, II , IV квадрант
      2. Защо при зададен If за  x= -x && y>|x|(понеже е отрицателно) || за y= -y && x>|y| получавам резултати като "x=5 y=-6 попадат в защрихованата област.

    • от силвия димитрова стефанова
      Здравейте! Може ли да ми помогнете с курсовата ми работа.  Това е условието. Не мога да направя точка 11‐III. Може ли да ми помогнете
      11‐I.Да се състави абстрактен клас Редактор на книга BookEditor Чисто виртуални функции:
      I.1.LIST<BOOKPAGE> GENERATEBOOK(STRING TITLE, INT NUMBERPAGES )‐ СЪЗДАВА СТРАНИЦИ ОТ КНИГА СЪС ЗАГЛАВИЕ TITLE И ПРАЗНИ СТРАНИЦИБРОЙ NUMBERPAGES И ГИ ДОБАВЯI.2.VOID SWAPPAGES(INT FIRSTPN, INT SECONDPN)‐ РАЗМЕНЯ СТРАНИЦИТЕ С НОМЕРА – ПАРАМЕТРИ FIRSTPN, SECONDPN.ПРОДУЦИРА ИЗКЛЮЧЕНИЕ, АКО НЕ МОЖЕ ДА СЕ ИЗПЪЛНИ
      11‐II.Да се състави клас Страница BookPage Скрити член променливи:
      Номер на страница‐ число int; Съдържание – низ string; Публични функции:
      II.1.КОНСТРУКТОРИ – ЕКСПЛИЦИТЕН, ПОДРАЗБИРАЩ СЕ;
      II.2.ЧЕТЕНЕ/ЗАПИС
      II.3.ЗА РАЗМЯНА НА СЪДЪРЖАНИЕ НА СТРАНИЦА С ПОДАДЕНАТА КАТО ПАРАМЕТЪР РЕФЕРЕНЦИЯ КЪМ СТРАНИЦА;
      II.4.OPERATOR == СРАВНЯВА ПО ВСИЧКИ ДАННИ
      II.5.OPERATOR< ЗА СРАВНЕНИЕ ЗА ПО‐МАЛКО НА ПОДАДЕНИЯ ПАРАМЕТЪР ОБЕКТ С ТЕКУЩИЯ ПО НОМЕР НА СТРАНИЦА
      II.6.ПРЕОБРАЗУВА / ВРЪЩА НИЗ ОТ ЧЛЕНОВЕТЕ НА КЛАСА
      II.7.OPERATOR<<(ИЗВЕЖДА В УКАЗАН ИЗХОДЕН ПОТОК)
      II.8.OPERATOR>>(ЧЕТЕ ОТ УКАЗАН ВХОДЕН ПОТОК)
      11‐III.Да се състави клас Книга Book за съхраняване на страници (подредени по номер на страница), наследник на BookEditor – клас I11‐I Скрити член променливи: Списък от страници – съдържа обекти от клас II, m_listPagesПублични функции: III.1.КОНСТРУКТОРИ – ЕКСПЛИЦИТЕН ПО БРОЙ СТРАНИЦИ И ЗАГЛАВНА СТРАНИЦА, СЪЗДАВА КНИГА СЪС ЗАГЛАВИЕ И ПРАЗНИ СТРАНИЦИ –УКАЗАНИЯ БРОЙ; ПОДРАЗБИРАЩ СЕ – СЪЗДАВА КНИГА САМО СЪС ЗАГЛАВИЕ
      III.2.ДОБАВЯНЕ НА СТРАНИЦА – ПАРАМЕТЪР СТРАНИЦА
      III.3.ПРОМЕНЯНЕ НА СТРАНИЦА – ПАРАМЕТЪР СТРАНИЦА
      III.4.ПРЕМАХВАНЕ НА СТРАНИЦА С ПОДАДЕН ПАРАМЕТЪР НОМЕР НА СТРАНИЦА
      III.5.РАЗМЕНЯНЕ НА СЪДЪРЖАНИЕ НА ПОДАДЕНИ ДВЕ РЕФЕРЕНЦИИ КЪМ СТРАНИЦИ.ПРОДУЦИРА ИЗКЛЮЧЕНИЕ, АКО НЕ МОЖЕ ДА СЕ ИЗПЪЛНИ
      III.6.ПРЕОБРАЗУВА / ВРЪЩА НИЗ ОТ ЧЛЕНОВЕТЕ НА КЛАСА
      III.7.ИМПЛЕМЕНТИРАНЕ НА ВИРТУАЛНИТЕ ФУНКЦИИ
      11‐IV.Главна функция (main) IV.1.СЪЗДАВА ОБЕКТ BOOK ОТ
      IIIIV.2.ИЗВЕЖДАНЕ НА КНИГАТА НА КОНЗОЛЕН ИЗХОД
      IV.3.ДОБАВЯНЕ НА СТРАНИЦА КЪМ
      IV.1, ИЗВЕЖДАНЕ НА РЕЗУЛТАТА НА КОНЗОЛЕН ИЗХОД
      IV.4.ПРЕМАХВАНЕ НА СТРАНИЦА ОТ
      IV.1, ИЗВЕЖДАНЕ НА РЕЗУЛТАТА НА КОНЗОЛЕН ИЗХОД
      IV.5.РАЗМЕНЯНЕ НА ДВЕ ОТ СТРАНИЦИТЕ ОТ
      IV.1, ИЗВЕЖДАНЕ НА РЕЗУЛТАТА НА КОНЗОЛЕН ИЗХОД
      IV.6.ОБРАБОТВАНЕ НА ИЗКЛЮЧЕНИЕ
    • от силвия димитрова стефанова
      Здравейте! Може ли да ми помогнете с точка II.6. Това е условието:
      Да се състави клас Страница BookPage Скрити член променливи: Номер на страница‐ число int; Съдържание – низ string; Публични функции: II.1.КОНСТРУКТОРИ – ЕКСПЛИЦИТЕН, ПОДРАЗБИРАЩ СЕ; II.2.ЧЕТЕНЕ/ЗАПИС II.3.ЗА РАЗМЯНА НА СЪДЪРЖАНИЕ НА СТРАНИЦА С ПОДАДЕНАТА КАТО ПАРАМЕТЪР РЕФЕРЕНЦИЯ КЪМ СТРАНИЦА; II.4.OPERATOR == СРАВНЯВА ПО ВСИЧКИ ДАННИ II.5.OPERATOR< ЗА СРАВНЕНИЕ ЗА ПО‐МАЛКО НА ПОДАДЕНИЯ ПАРАМЕТЪР ОБЕКТ С ТЕКУЩИЯ ПО НОМЕР НА СТРАНИЦА II.6.ПРЕОБРАЗУВА / ВРЪЩА НИЗ ОТ ЧЛЕНОВЕТЕ НА КЛАСА II.7.OPERATOR<<(ИЗВЕЖДА В УКАЗАН ИЗХОДЕН ПОТОК) II.8.OPERATOR>>(ЧЕТЕ ОТ УКАЗАН ВХОДЕН ПОТОК) Направила съм това:
      class BookPage { private: int NumberPage; //номер на страница string Contents; //съдържание public: BookPage(int numberPage, string contents) { NumberPage = numberPage; Contents = contents; } BookPage() { NumberPage = 0; Contents = " "; } const int& getNumberPage()const { return NumberPage; } const string& getContents()const { return Contents; } void setNumberPage(const int& sNumPege) { NumberPage = sNumPege; } void setContents(const string& sContents) { Contents = sContents; } bool operator == (const BookPage& book)const { return this->NumberPage == book.NumberPage, this->Contents == book.Contents; } bool operator < (const BookPage& number) { return this->NumberPage < number.NumberPage; } friend ostream& operator <<(ostream& out, const BookPage& book) { out << book.NumberPage << " " << book.Contents; return out; } friend ifstream& operator >> (ostream& in, BookPage& book) { cin >> book.NumberPage >> book.Contents; return in; } };  
    • от силвия димитрова стефанова
      Здравейте! Може ли да ми помогнете дали това е правилно направено.
      BookEditor::BookEditore() { BookPage::BookPage(); GenerateBook = 0; NumberPages = ""; } ListGenerateBook(string ownerBook, int 278 pages) { GenerateBook(adress); GenerateBook::ownerBook; BookPage::278 pages BookPage = Bookwords; BookEditor = getArea; } void swapPages(int86, int second 45) { BookPage::setAdress(obj.GenerateBook::getAdress()); BookPage::setArea(obj.GenerateBook::getArea()); BookPage::setHeight(obj.GenerateBook::getHeight()); BookPage = obj.BookPage; m_strOwner = obj.m_strOwner; }  

    • от Cns a1b1c1
      Някой може ли да ми помогне за една задача C++ ... Трудно ми е не мога се справям. Ще съм ви много благодарна!
      Зад.
      Зададен е едномерен масив от цели числа А0, А1,...,Аn-1, където n e кратно на 2. Да се състави програма, която изчислява разликата между сумата на елементите от първата половина и сумата на елементите от втората половина на масива.
×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване