Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Очередь: Напишите программу сложения и умножения многочленов, представленных описанным образом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая предлагает пользователю ввести целую матрицу размером 4 на 4 и заменяет все четные элементы их квадратами http://www.cyberforum.ru/cpp-beginners/thread871427.html
Здравствуйте, меня Зовут Алина, прошу помощи для решения задач на С++ очень нужно для экзамена! буду очень признательна! ПОМОГИТЕ ПОЖАЛУЙСТА!!! ...
C++ Написать программу, которая вычисляет целую степень, в которую необходимо возвести число 2, чтобы получить число, ближайшее меньшее либо равное числу, Написать программу, которая вычисляет целую степень, в которую необходимо возвести число 2, чтобы получить число, ближайшее меньшее либо равное числу, заданному в начале программы. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread871411.html
C++ Переписать символы с входящего рядка в выходящий, меняя операторы языка паскаль на операторы языка С++ := на =, = на ==, # на !=
Переписать символы с входящего рядка в выходящий, меняя операторы языка паскаль на операторы языка С++ := на =, = на ==, # на != Спасибо.
C++ Оформить в виде функции
Оформить в виде функции на C/C++ решение задачи: b_i = a_i \,- \,(\min_{1\leq j\leq n}a_j) \\i = 1, 2 .. n #include <ctime> #include <iostream> #include <conio.h> const int N=10; const int...
C++ С++ Builder Циклы с условием (при вводе адреса цвета (например, 0 255 0) выдавать имя цвета) http://www.cyberforum.ru/cpp-beginners/thread871397.html
Help, не могу решить задачку ЛБ: нужно написать программу, при вводе адреса цвета (на пример 0 255 0 выдавал имя цвета). //---------------------------------------------------------------------------...
C++ Почему падает программа? Почему падает программа? Компилируется без ошибок, но при запуске аварийное завершение работы. #include <iostream> #include <stdlib.h> using namespace std; class AnyClass { int x; //... подробнее

Показать сообщение отдельно
TankMr
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 30
20.05.2013, 21:17  [ТС]
Спасибо Вам за помощь, но не обязательно нужно было решать за меня, ну рас дело сделано, один вопрос, что такое nullptr и заменить его можно просто NULL

Добавлено через 1 час 30 минут
Цитата Сообщение от yoghurt92 Посмотреть сообщение
TankMr,
}[/CPP]
.Многочлены вида p(x)=c1*x^e1+c2*x^e2... и тд , где e1>e2>e3>...>en можно представить в виде очереди, где каждый элемент имеет три поля: одно – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Напишите программу сложения и умножения многочленов

Мне не понятен Х, с ним что делать? Тоже с клавиатуры вводить?

Добавлено через 1 час 34 минуты
Я вот дописал программу но она ругается на autpute() и ShowQueue() не знаю почему

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#include <iostream>
#include <conio.h>
#include <stdio.h>
 
using namespace std;
 
struct Element
{               
    int ci, ei, x;
    Element *Next;
 
    void input(void)
    {                          
        cout<<"Enter ci:\t";
        cin>>ci;
        cout<<"Enter x:\t";
        cin>>x;
        cout<<"Enter ei:\t";
        cin>>ei;
        cout<<endl;
        cout<<ci<<"*"<<x<<"^"<<ei<<endl<<endl;
    }
    void output(void)
    {                         
        cout<<ci<<"*"<<x<<"^"<<ei<<"+";
    }
};
 
class Queue
{                    
    private:
        Element *Head, *Tail;        
 
    public:
        Queue()                 
        {
            Head = NULL;
        }  
        ~Queue()
        {
            Element *Vsp;
            while(Head)
            {
                Vsp = Head;
                Head = Head->Next;
                delete Vsp;
            }
        }
        void AddQueue(void)
        {                     
            Element *Vsp = new Element;
            if(!Vsp) 
                exit(1);
 
            cout << endl << "\t\t\tADD QURUE:" << endl;
 
            Vsp -> input();                       
 
            if(!Head)                 
                Head = Vsp;                   
            else
                 Tail -> Next = Vsp;             
            Tail = Vsp;
        }
 
        void ShowQueue(void)
        {
            cout << endl << "\t\tShow QUEUE:" << endl;                  
            while(Tail)
            {          
                Tail -> output();               
                Tail = Tail -> Next;          
            } 
      
        }
 
        int EmptyQueue(void)
        {
            if(Head)
                return 0;
            cout << "\t\t\tQueue is empty!!!"<< endl;
            return 1;
        }
 
        void SummQueue(Queue p)
        {            
                                           
            Element *Tail(this->Head),     //указатель на голову первой очереди
                      *Tail1(p.Head);       //указатель на голову второй очереди
 
            while(Tail!=NULL)
            {          
                cout << Tail->ci + Tail1->ci <<"*"<< Tail->x + Tail1->x<<"^"
                    << Tail->ei + Tail1->ei <<"+";
 
                Tail = Tail ->Next;
                Tail1 = Tail1 ->Next;
            }
        }
 
        void ProizQueue(Queue p)
        {
             Element *Tail(this->Head),    
                      *Tail1(p.Head);
 
            while(Tail)
            {
                 cout << Tail->ci * Tail1->ci <<"*"<< Tail->x * Tail1->x<<"^"
                    << Tail->ei * Tail1->ei <<"+";
 
                Tail = Tail ->Next;
                Tail1 = Tail1 ->Next;
            }
        }
 
        void DeleteQueue(void)
        {    
            Element *Vsp;
            cout<<"\n\n\t\t\tDelete Queue:\n\n"<<endl;
                                                        
            if(!EmptyQueue())
            {
                cout<<"\n\t\tDelete element:\n\n"<<endl;
                if(Head)
                    Vsp = Head;
                Head = Head->Next;
                delete Vsp;
            }
        }
};
 
int main()
{
    int key = 0;
    cout<<"Please enter the key\n\n\n";
    Queue y1, y2;
    do
    {
        cout << "\n\n\nMENU:" << endl << endl << "\t1 - ADD QUEUE_1" <<endl<< "\t2 - ADD QUEUE_2" <<endl
        << "\t3 - Show QUEUE_1" << endl<< "\t4 - Show QUEUE_2" << endl << "\t5 - Delete QUEUE_1" << endl
        << "\t6 - Delete QUEUE_2" << endl<< "\t7 - Summa QUEUE" << endl<< "\t8 - Proizvedenie QUEUE" << endl
        << "\tEsc - Exit" << endl << endl << "Press any key..." << endl;
        key = getch();                     
        switch(key)
        {
            case 49: y1.AddQueue(); break;
            case 50: y2.AddQueue(); break;
            case 51: y1.ShowQueue(); break;
            case 52: y2.ShowQueue(); break;
            case 53: y1.DeleteQueue(); break;
            case 54: y2.DeleteQueue(); break;
            case 55: y1.SummQueue(y2); break;
            case 56: y1.ProizQueue(y2); break;
        }
    }while(key!=27);
    getch();
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru