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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Полином http://www.cyberforum.ru/cpp-beginners/thread125520.html
Подскажите пожалуйста, как мне считать полином с консоли (то есть какую структуру данных использовать?), чтобы я могла задавать значения переменных и по считанному полиному вычислялось его значение.
C++ Изображения Могли бы написать простейший код в C++ c комментариями, где в картинке bmp меняются все пиксели белого цвета на пиксели черного цвета? http://www.cyberforum.ru/cpp-beginners/thread125487.html
Пожалуйста Нужно написать программу C++
Нужно написать программу, на С++ Builder 6 Написать программу, которая получает на вход текстовый файл, состоящий из команд операций над файлами ( ну по анологии в bat-файлом). Программа должна отслеживать грамматические, синтаксические и смысловые ошибки в тексте, и если они не найдены, по шагам исполнять команды. В тексте программы каждая команда записывается с новой строки. Команды я...
матрицы C++
Помогите please 1)Составить программу, которая находит максимальное и минимальное значение среди элементов одномерного массива Y, состоящий из N целых чисел, и проверяет, является ли минимальное значение делителем максимального 2)Составить программу для подсчета суммы положительных элементов квадратной таблицы В, состоящий из N; N целых чисел, расположенных на побочной диагонали. Сформировать...
C++ Готовая программа http://www.cyberforum.ru/cpp-beginners/thread125451.html
Если кто может, опишите пожалуйста на русском языке, что делает каждый оператор в данной программе: #include "stdafx.h" #include <iostream.h> #include <conio.h> #include <fstream.h> struct Node { double number;
C++ Все ли цифры равны в числе Пожалуйста помогите вот с такой задачей. Дано натуральное число n. Выяснить верно ли что число имеет все одинаковые цифры. подробнее

Показать сообщение отдельно
@Manya@
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 20
05.05.2010, 16:23     Деление многочленов. Нахождение остатка
Добрый вечер!
Вот собственно код.
Код:
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru