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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что то не так с программой http://www.cyberforum.ru/cpp-beginners/thread183952.html
Написать програму которая вычисляет среднее арифметическое елементов масива #include<iostream> using namespace std; void main() { const int size = 5; float Arr = {5, 7, 3, 8, 4}; float SA...
C++ двумерный массив суть программы - поменять четные столбцы матрицы местами 2 с 4, 4 с 6 и тд например задаю матрицу 5x5 результат 2 1 1 1 5545 2 3 1 0 1 15145 3 6 5 2 3 5445 2 http://www.cyberforum.ru/cpp-beginners/thread183936.html
C++ Указатель на функцию
Проверял, что быстрее работает и столкнулся с дилеммой - по идее, ссылаться на функцию через указатель быстрей, чем просто вызывать ее, но тут получилось наоборот. Хотя когда просто пользовался...
C++ Программа для вычисления количества дней между двумя датами
Добрый день!Ни как не получаеться написать в си программу, которая будет уметь считать дни между двумя заданными датами, без использования циклов...Начиная с 1 .1.1 где до 6.1.1584 каждые четыре года...
C++ Организация программы. http://www.cyberforum.ru/cpp-beginners/thread183901.html
Здравствуйте. Как организовать программу? Дана матрица с ней производится ряд операций. После этих операций матрица проверяется на определенное условие и если оно не выполняется то эти операции...
C++ Циклы Дан номер телевизионного канала(от 1 до 5). Вывести на экран наиболее популярные программы заданного канала. подробнее

Показать сообщение отдельно
dasalam
10 / 10 / 0
Регистрация: 14.12.2008
Сообщений: 59
31.10.2010, 11:30
Цитата Сообщение от Faramir02 Посмотреть сообщение
Здравствуйте. Мне нужно решить задачу, вот текст:
По заданным коэффициентам многочлена n-й степени А(х) и многочлена m-й степени В(х) определить коэффициенты многочлена С(х)=А(х)*В(х).

Программу то написал, но она не складывает подобные члены, из-за чего получается неверный рез-тат. Вот код:
Код
#include <stdio.h>
#include <conio.h>
void main()
    {
      const ArrLength = 100;

      int n, m, k, tmp, i, g, x;
      int N[ArrLength];
      int M[ArrLength];
      int R[ArrLength];
      x = -1;
      tmp = 0;

      for (k = 0; k < ArrLength; k++)
        {
          N[k] = 0;
          M[k] = 0;
          R[k] = 0;
        }


      printf("Введите степень 1 многочлена*: ");
      scanf("%d", &n);
      printf("\nВведите коэффициенты: ");

      for (k = 0; k <= n; k++)
        scanf("%d", &N[k]);


      printf("Введите степень 2 многочлена*: ");
      scanf("%d", &m);
      printf("\nВведите коэффициенты: ");

      for (k = 0; k <= m; k++)
        scanf("%d", &M[k]);

        for (i = 0; i <= n+m; i++)
     {
       for (g = 0; g <= m+n; g++)
        {
          tmp = N[i] * M[g];

          if (tmp>0||tmp<0)
            {
                x = x + 1;
                R[x] = tmp;
                printf ("\n%d', R[x]);           
            }
         }
       }
       getch();
  }
Я нашел на одном форуме такое указание:
Пусть у члена с х степень k. Тогда для него коэф. равен а0*b(k)+a1*b(k-1)+...+a(k-1)b1+ak*b0
Но как реализовать это в программе я не понял.

Добавлено через 16 часов 53 минуты
Ну что. никто не поможет?
Разумно записывать коэффициенты при степенях в массив. Но может быть сделать примерно такой алгоритм:
1) Считать коэффициенты 1ого и 2ого многочленов;
2) Сравнить степени многочленов и если 1 степень больше другой, то дописать в массив нули. Т.е. например n=3; m=1 => N[3] = a3; N[2] = a2; N[1] = a1; N[0] = a0, а для M[3] = 0; M[2] = 0; M[1] = b1; M[0] = b0. Ну и потом сложить соответствущие элементы C[i] = N[i] + M[i]
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru