Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
TankMr
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 30
#1

Очередь - C++

13.05.2013, 20:08. Просмотров 573. Ответов 1
Метки нет (Все метки)

Здрасти всем...


Не могу понять как организовать 2 очереди для данной задачи и не понятно как реализоваться функцию суммы ..

Если есть у кого книжка или может кто знает сайт с нормальными примерами, подскажите, я хочу разобраться.....

Многочлены вида p = c1x^e1+c2x^e2+ . . . . . , где можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 20:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Очередь (C++):

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну...

Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете
Сформировать очередь по файлу целых чисел. Промоделировать очередь в...

Задача на очередь (вывод сообщения, что очередь пуста)
Доброго дня! Есть задачка на очередь, которая работает нормально, только надо...

Очередь, теория. Очередь на шести стеках
Здравствуйте, пытаюсь побольше найти информации про очереди и их применение в...

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. ...

Очередь
Привет всем. Я тут решаю в общем то простое упражнение - нужно проверить...

1
yoghurt92
375 / 346 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
13.05.2013, 22:41 #2
Лучший ответ Сообщение было отмечено TankMr как решение

Решение

TankMr, ну пояснил как смог

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
 
struct QueueNode{                               //наша структура
    int ci,                                     //коэффициент ci
        ei;                                     //коэффициент ei
 
    QueueNode *next;                            //указатель на следующий элемент
 
    void input(int count){                          //процедура ввода данных 
                                                    //для кажого элемента выражения
        std::cout << "Enter c" << count << ": ";
            std::cin >> ci;
        std::cout << "Enter e" << count << ": ";
            std::cin >> ei;
        std::cout << std::endl;
    }
 
    void output(){                                      //процедура вывода данных
        std::cout << ci << "x^" << ei;
    }
};
 
QueueNode *addToQueue(QueueNode *ptr, int &count){          //процедура добавления нового элемента
    QueueNode *tmp = ptr,                                   //первый элемент
              *cur = new QueueNode;                         //выделяем память под новый элемент
 
    cur -> input(count++);                                  //вводим данные и увеличиваем счетчик
    cur -> next = nullptr;                                  //за последним ничего нет
 
    if(ptr == nullptr){                                     //если очередь пуста
        ptr = cur;                                          //новый - первый
    }
    else{                                                   //иначе добавляем в конец
        while(tmp -> next != nullptr){
            tmp = tmp -> next;
        }
 
        tmp -> next = cur;                                  //новый - последний
    }
 
    return ptr;                                             //возвращаем указатель на первый
}
 
void showQueue(QueueNode *ptr){                             //процедура вывода очереди
    QueueNode *tmp = ptr;
 
    if(ptr == nullptr){
        std::cout << "Queue is empty!\n";                   //если очередь пуста
    }
    else{
        std::cout << "P = ";
        while(tmp != nullptr){                              //идем по всей очереди
            tmp -> output();                                    //и выводим элемент за элементов
 
            if(tmp -> next != nullptr) std::cout << " + ";      //выводим плюс до предпоследнего элемента
            tmp = tmp -> next;                                  //переходим к следующему
        }
        std::cout << ';';
    }
}
 
void delQueue(QueueNode *ptr){                              //процедура освобождения памяти
    QueueNode *tmp = ptr, *cur(nullptr);
 
    if(ptr == nullptr){
        std::cout << "Queue is empty!\n";                   //если очередь пуста
    }
    else{
        while(tmp != nullptr){                              
            cur = tmp -> next;                          //запонимаем следующий
            delete tmp;                                 //удаляем текущий
            tmp = cur;                                  //текущий - следующий
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int count(1);                           //счетчик
    QueueNode *Head(nullptr);               //голова очереди
 
    for(int i = 0; i < 3; ++i)              //вводим 3 элемента (можешь сделать как захочешь)
        Head = addToQueue(Head, count);
 
    showQueue(Head);                        //вывод
    delQueue(Head);                         //освобождаем что взяли
 
    std::cout << "\n\n";
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 22:41
Привет! Вот еще темы с решениями:

Очередь
Здравствуйте, Уважаемые форумчане :) Вот есть такая задача: Используя...

Очередь? What
Всем доброго время суток.Дело в том, что с трудом дается с++, но очень хочется...

Очередь С++
Дан текстовый файл Вводятся с клавы числа А и В Надо вывести НА ЭКРАН СНАЧАЛА...

Очередь
Всем привет! Вопрос: целесообразно ли перегружать для очереди операторы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru