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

Даны действительное число а, многочлен степени n. Получить многочлен (x^2+2ax+3)*P(x) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Достаточно ли книги Страуструпа? http://www.cyberforum.ru/cpp-beginners/thread1137730.html
В общем, учу с++ по страуструпу и думаю: " а хватит ли этого???" . Подскажите книгу, по которой учиться дальше? Спасибо!
C++ -Двумерный массив вычислить сумму и число положительных элементов матрицы A[N,N], находящихся над главной диагональю Помогите пожалуйста решить, и распишите каждую строку а то будут спрашивать что тут а что там. -Двумерный массив вычислить сумму и число положительных элементов матрицы A, находящихся над главной диагональю. http://www.cyberforum.ru/cpp-beginners/thread1137678.html
C++ Выяснить, является ли сумма элементов четвертой строки массива двузначным числом
Дан двумерный массив. Выяснить, является ли сумма элементов четвертой строки массива двузначным числом.
Условные операторы при работе с массивом целых чисел C++
Дан массив целых чисел. Выяснить верно ли, что сумма элементов, которые больше 20, превышает 100.
C++ Напечатать минимальное число, большее 200, которое нацело делится на 17 http://www.cyberforum.ru/cpp-beginners/thread1137674.html
Напечатать минимальное число, большее 200, которое нацело делится на 17.
C++ Вычислить площадь стены для оклеивания обоями В квадратной комнате шириной A и высотой B есть дверь размером N*M и два окна размером K*L.Вычислить площадь стены для оклеивания обоями. подробнее

Показать сообщение отдельно
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
03.04.2014, 11:04     Даны действительное число а, многочлен степени n. Получить многочлен (x^2+2ax+3)*P(x)
Держи умножение любых многочленов:

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
#include <stdio.h>
#include <malloc.h>
 
int* PolyMult(int *a, int *b, int na, int nb)
{
    int nn,i,j,k,c;
    int *r;
    nn=na+nb+1;
    r=(int *)malloc(nn*sizeof(int));
    for (k=na+nb; k>=0; k--)
    {
        c=0;
        for (i=na; i>=0; i--)
            for (j=nb; j>=0; j--)
                if ((i+j) == k) c+=a[i]*b[j];
        r[k]=c;
    }
    return r;
}
 
void PolyPrint(int *a, int na)
{
    int i,beg;
    beg=0;
    for (i=na; i>=0; i--)
        if (a[i] != 0)
        {
            if (i==0)
            {
                if ((beg == 1) && (a[i]>0)) printf("+");
                printf("%d",a[i]);
                break;
            }
            if (a[i]==1)  
            {
                if ((beg == 1) && (a[i]>0)) printf("+");    
                printf("x^%d",i);
                beg=1;
            }
            else
                if (a[i]==-1) 
                {
                    printf("-x^%d",i);
                    beg=1;
                }
                else
                {
                    if ((beg == 1) && (a[i]>0)) printf("+");
                    if (i == 1)
                        printf("%dx",a[i]);
                    else
                        printf("%dx^%d",a[i],i);
                    beg=1;
                }
        }
    printf("\n");
}
                    
 
int main(int argc, char* argv[])
{
    int A[3]={1,2,1};
 
    int B[2]={1,1};
 
    int *R;
 
    R=PolyMult(A,B,2,1);
 
    PolyPrint(R,3);
 
    free(R);
 
    return 0;
}
Правда, коэффициенты целые, но можно поправить на float/double...
 
Текущее время: 20:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru