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

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

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

     

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


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

#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.


×
×
  • Добави ново...