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

Деление многочленов. Нахождение остатка

05.05.2010, 16:23. Просмотров 3274. Ответов 0
Метки нет (Все метки)

Добрый вечер!
Вот собственно код.
Код:
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
#include <stdio.h>
int *remainder(int *a, int &len1, int *b, int len2);
int *remainder(int *p1, int &s1, int *p2, int s2){
        int *ptr1=p1;
        int del;
        int i;
        int *result = (int *)malloc(sizeof(int)*(s1));
        int sresult =0;
        while (s1>=s2) {
                del = (int)(*ptr1 / *p2);
                result[sresult]=del;
                sresult++;
                for (i=0; i<s2; i++) {
                        *(ptr1+i) -= del * p2[i];
                }
                ptr1++;
                s1--;
        }
        return p1;
}
int main() {
    int s1=9;
    int s2=8;
    int *pol1 = new int [s1];
    int *pol2=new int [s2];
    for (int s=0; s<s1; s++)
    {
        printf("%d ", s);
        printf("coefficient ");
        scanf("%d", &pol1[s]);
    }
    for (int s=0; s<s2; s++)
    {
        printf("%d ", s);
        printf("coefficient ");
        scanf("%d", &pol2[s]);
    }
    printf("\n");
    printf("-> ");
     int *rem=new int[s1];
     rem=remainder(pol1, s1, pol2, s2);
     for (int s=0; s<s1; s++)
         printf("%d", rem[s]);
        printf("\n");
}
Многочлены вводятся так: например, 1+x^3 будет 1001. Когда коэффициент делителя нулевой, то естественно возникает ошибка деления на 0. Как бы это исправить?
Спасибо

Добавлено через 16 часов 40 минут
Вот, работает по большей части верно, но не всегда О_о
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
int *remainder(int *p1, int &len1, int *p2, int len2)
{
    int k= len1-1;
    for (int i=0; i<len1/2; i++)
    {
        int temp = p1[i];
        p1[i] = p1[k-i];
        p1[k-i] = temp;
    }
    for (int i=0; i<len1; i++)
        printf("%d ", p1[i]);
    printf("\n");
    k= len2-1;
    for (int i=0; i<len2/2; i++)
    {
        int temp = p2[i];
        p2[i] = p2[k-i];
        p2[k-i] = temp;
    }
    for (int i=0; i<len2; i++)
        printf("%d ", p2[i]);
    printf("\n");
    int *ptr1;
    ptr1= p1;
    while (len1>=len2)
    {
        int del = (int)(*ptr1/ *p2);
        for (int i=0; i<len2; i++)
            *(ptr1+i) -= del * p2[i];
        len1--;
        ptr1++;
    }
    p1 = ptr1;
    return p1;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2010, 16:23
Ответы с готовыми решениями:

Деление многочленов
https://www.cyberforum.ru/cpp-beginners/thread328191.html Из этой темы был представлен алгоритм...

Деление многочленов
Помогите,пожалуйста! Застрял,конкретно. Есть класс многочленов,представленный в виде двусвязного...

Деление многочленов 4 степени
Доброго времени суток! Необходимо было реализовать алгоритм, делящий два многочлена 4 степени с...

Деление двух многочленов
Привет всем! Было дано задание реализовать деление многочленов с комплексными коэффициентами через...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2010, 16:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Деление многочленов от двух переменных
Есть многочлен от двух переменных, заданный следующей структурой: struct Monom { int...

Деление многочленов(полиномов). доделать класс
Суть задания - сделать класс-полином со основными арифметическими операциями между многочленами....

Нужны советы как реализовать сложение, вычитание, умножение полиномов/многочленов и деление на число
Всем здравствуйте! надеюсь написать с вашей помощью программку для сложения, вычитания и умножения...

Функция проверки числа на деление без остатка на другое число
Привет! Как организовать проверку числа на то делится ли оно без остатка или нет И из этого...


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

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

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