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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
@Manya@
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 20
#1

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

05.05.2010, 16:23. Просмотров 2086. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2010, 16:23     Деление многочленов. Нахождение остатка
Посмотрите здесь:

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

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

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

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

Деление многочленов от двух переменных - C++
Есть многочлен от двух переменных, заданный следующей структурой: struct Monom { int CoefX,CoefY,DegX,DegY; }; struct...

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

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

Рекурсия: сложение, вычитание, деление и вычисление остатка от деления двух целых чисел - C++
Написать программу для реализации рекурсивных функций сложения, вычитания, деления и вычисления остатка от деления двух целых чисел. ...

Нахождение остатка от деления любых дробных чисел - C++
// Ostatok.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &quot;string.h&quot; #include...

Дано целое число (N>0), используя операции деление нацело и взятие остатка от деления, вывести все его цифры начиная с самой правой - C++
Задание звучит так: Дано целое число (N&gt;0), используя операции деление нацело и взятие остатка от деления, вывести все его цифры начиная с...

Последовательность многочленов H0(x),H1(x) - C++
Помогите с задачкой пожалуйста:Последовательность многочленов H0(x),H1(x), ...определяется следующим образом: H0(x)=1, H1(x)=x,...

Произведение многочленов - C++
Здравствуйте. Мне нужно решить задачу, вот текст: По заданным коэффициентам многочлена n-й степени А(х) и многочлена m-й степени В(х)...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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