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

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

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

Показать сообщение отдельно
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
20.05.2013, 16:52     Очередь: Напишите программу сложения и умножения многочленов, представленных описанным образом
TankMr, 2 очереди - два объекта типа Element, т.е. создали Queue op1, op2, вот вам и 2 очереди, потом уже заполняете их. И создавать их можно и в глобальной области и в функции Ну допустим вы объявили их в мейн, заполнили элементами и потом вызываете функцию для суммирования, вот ивсе

Добавлено через 2 часа 17 минут
TankMr, решил показать тебе, слегка тут накидал с комментами, самое главное там есть нужные 2 функции тебе, если что, спрашивай

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
#include <iostream>
 
struct QueueNode{               
    int ci;
    int ei;
    QueueNode *next;
 
    void input(){                           //для ввода полей структуры
        std::cout << "Enter ci: ";
            std::cin >> ci;
        std::cout << "Enter ei: ";
            std::cin >> ei;
        std::cout << std::endl;
    }
 
    void output(){                          //для вывода полей структуры
        std::cout << "Ci: " << ci;
        std::cout << "\tEi: " << ei << std::endl;
    }
};
 
class Queue{                    //наша очередь
    private:
        QueueNode *Head;        //голова очереди
 
    public:
        Queue():Head(nullptr) {}            //очередь изначальна пуста
 
        void addToQueue(){                      //функция добавления элемента в очередь
            QueueNode *value = new QueueNode;       //выделяем память
            value -> input();                       //инициализируем
 
            if(!Head){                  //если очередь пуста
                Head = value;               //голова - новый элемент
                value -> next = nullptr;        //следующего нет
            }
            else{                           //если очередь не пуста
                QueueNode *tmp(Head);       //промежуточный элемент
 
                while(tmp -> next != nullptr)       //идем до предпоследнего элемента
                    tmp = tmp -> next;
 
                tmp -> next = value;                    //предпоследний указывает на новый
                value -> next = nullptr;                //новый - последний
            }
        }
 
        void showQueue(){                   //функция вывода очереди
            QueueNode *tmp(Head);           //промежуточный элемент
 
            while(tmp != nullptr){          //идем до конца очереди
                tmp -> output();                //выводим содержимое
                tmp = tmp -> next;          //переходим к следующему
            }
        }
 
        bool isEmpty(){                     //проверку очереди на пустоту
            return Head == false;
        }
 
        void sumQueue(Queue op){            //функция сложения двух очередей
                                            //и выводом результата на экран
            QueueNode *tmp(this->Head),     //указатель на голову первой очереди
                      *tmp1(op.Head);       //указатель на голову второй очереди
 
            while(tmp != nullptr){          //размеры очереди должны быть одинаковы
 
                //выводи результат сложения соответствующих элементов на экран
                std::cout << "Ci: " << tmp->ci + tmp1->ci <<
                    "\tEi: " << tmp->ei + tmp1->ei << std::endl;
 
                //переходим к следующим элементам очереди
                tmp = tmp ->next;
                tmp1 = tmp1 ->next;
            }
        }
 
        //то же самое только для умножения
        void prodQueue(Queue op){
            QueueNode *tmp(this->Head),
                *tmp1(op.Head);
 
            while(tmp != nullptr){
                std::cout << "Ci: " << tmp->ci * tmp1->ci <<
                    "\tEi: " << tmp->ei * tmp1->ei << std::endl;
 
                tmp = tmp ->next;
                tmp1 = tmp1 ->next;
            }
        }
 
        void deleteQueue(){                             //функция освобождения памяти
            QueueNode *tmp(Head), *value(nullptr);      //указатель на голову и
                                                        //промежуточный указатель
 
            while(tmp != nullptr){                  //идем до конца очереди
                value = tmp ->next;                 //следующий элемент
                delete tmp;                         //удаляем текущий
                tmp = value;                        //текущий = следующий
            }
        }
};
 
int main()
{
    int size;       //размер очереди
    std::cout << "Enter the number of queue: ";
        std::cin >> size;
 
    Queue op1, op2;                     //создаем 2 очереди 
    for(int i = 0; i < size; ++i){          //заполняем
        op1.addToQueue();
        op2.addToQueue();
    }
 
    op1.sumQueue(op2);                  //складываем
    op1.prodQueue(op2);                 //умножаем
 
    op1.deleteQueue();
    op2.deleteQueue();
 
    std::cout << std::endl << std::endl;
    return 0;
}
 
Текущее время: 00:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru