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

Перемножение многочленов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать и упорядочить массив http://www.cyberforum.ru/cpp-beginners/thread201055.html
Используя метод «пузырька», упорядочить по возрастанию значения, содержащиеся в строках двумерного массива C с рабочим размером n х m. Вывести массив C на экран. Массив C должен состоять из целых...
C++ Вычисление среднего арефметического КАК создать среднее арефметическоє? http://www.cyberforum.ru/cpp-beginners/thread201048.html
Класс C++
#include <stdio.h> class BooksDriver { public: hellofunction(char str){ return chr; } } void main(){ printf(BooksDriver.hellofunction('fdfs')); }
Определить максимальный и минимальный элементы среди положительных нечетных элементов массива C++
Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х.Удалить из массива все нулевые элементы. (ФУНКЦИИ): Вводится последовательность из N...
C++ Создать класс для реализации комплексных чисел http://www.cyberforum.ru/cpp-beginners/thread201010.html
Создать класс для реализации комплексных чисел в алгебраической форме. Используя перегруженные операции, реализуйте сложение, вычитание, деление и умножение комплексных чисел.
C++ Работа с функциями. (Вывести на экран результат) Уважаемые, помогите разобраться, как вывести на экран результат вычисления такой функции: При условии, что переменна а принимает значение от 0 до 5 с шагом 0,5. Переменная b принимает значение от... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
01.12.2010, 01:46
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
//////////////////////////////////////////////////////////////////////////////////////
//Процедура перемножения 2 многочленоа в Каждый из многочленов самножетелей,
//а также многочлен-результат. Задаётся масивом коэфициентов Аррей(0...Н) 
//где НН-степеь многочленна.. 
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////////
typedef double               T_coef;
typedef std::vector<T_coef>  T_polynom;
typedef std::string          T_polynom_name;
//////////////////////////////////////////////////////////////////////////////////////
T_polynom  input_polynom(const T_polynom_name&  polynom_name)
{
    std::cout << std::endl
              << "Степень многочлена "
              << polynom_name
              << ": ";
    int  polynom_power = 0;
    std::cin >> polynom_power;
    T_polynom  polynom(polynom_power + 1);
    std::cout << "Введите коэффициенты при соответствующих степенях многочлена "
              << polynom_name
              <<":"
              << std::endl;
    for(int i = polynom_power; i >= 0; --i)
    {
        std::cout << "x^"
                  << i
                  << ": ";
 
        std::cin >> polynom[i];
    }
    return  polynom;
}
//////////////////////////////////////////////////////////////////////////////////////
T_polynom  mult_polynom
    (
        const T_polynom&  polynom_A, 
        const T_polynom&  polynom_B
    )
{
    int        polynom_res_size = polynom_A.size() + polynom_B.size() - 1;
    T_polynom  polynom_res(polynom_res_size);
    for(size_t  i = 0; i < polynom_A.size(); ++i)
    {
        for(size_t  j = 0; j < polynom_B.size(); ++j)
        {
            polynom_res[i + j] += polynom_A[i] * polynom_B[j];
        }
    }
    return  polynom_res;
}
//////////////////////////////////////////////////////////////////////////////////////
void  print_polynom(const T_polynom&  polynom)
{
    for(int i = polynom.size() - 1; i >= 0; --i)
    {
        std::cout << polynom[i];
        if(i)
        {
            std::cout << "x^"
                      << i
                      << " + ";                          
        }
    }
    std::cout << std::endl;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale("")); 
 
    T_polynom_name  polynom_name_A("A");
    T_polynom_name  polynom_name_B("B");
 
    T_polynom  polynom_A = input_polynom(polynom_name_A);
    T_polynom  polynom_B = input_polynom(polynom_name_B);
 
    std::cout << "Произведение многочленов "
              << polynom_name_A
              << " и "
              << polynom_name_B
              << ":"
              << std::endl;
 
    print_polynom(mult_polynom(polynom_A, polynom_B));
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru