Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Деление полиномов на Си, и определение остатка деления 
:(
    Опции темы
Пётр
  Дата 28.5.2004, 00:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мне это для калькулятора Ти 92 надо,
по этому желательно на Си.
Плз.
  Вверх
Baa
Дата 28.5.2004, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Замечательно, только я вопроса не вижу.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Пётр
Дата 28.5.2004, 04:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вопрос в принципе:
Как с помощью получить результат от деления полиномов и/или остаток от этого деления с помошью языка Си?
(А что, не понятно было? Тогда извиняюсь...)
  Вверх
mr.DUDA
Дата 28.5.2004, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Встречный вопрос:
- а что подразумевается в данном случае под полиномом ? какая-то структура ? массив, содержащий коэффициенты полинома ? полином какого-то конкретного порядка (или порядок хотя бы ограничен) ?


--------------------
user posted image
PM MAIL WWW   Вверх
dargaard
Дата 28.5.2004, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 450
Регистрация: 7.5.2004

Репутация: 4
Всего: 25



Код
#include <stdlib.h>
#include <stdio.h>

int p1[]={1,1,1,-7,10};
int p2[]={1,-1,2};

int main() {
       int *ptr1=p1;

       int del;
       int i;
       int s1 = sizeof(p1)/4;
       int s2 = sizeof(p2)/4;
       int *result = malloc(sizeof(int)*(s1));
       int sresult =0;

       while (1) {

               del = (int)(*ptr1 / *p2);
               result[sresult]=del;
               sresult++;
               for (i=0; i<s2; i++) {
                       *(ptr1+i) -= del * p2[i];
               }


               ptr1++;
               s1--;
               if (s1<s2) break;

       }

// resultat budet v result[] massive
// ostatok budet v p1[] massive.
//

       //vivod dati
       printf("Delenie: ");
       for (i=0; i<sresult; i++) {
               if (result[i] >= 0 && i != 0) printf(" + ");
               if (sresult-i-1 !=0) {
                       if (sresult-i-1 != 1) {
                               printf(" %d*x^%d ",result[i],sresult-i-1);
                       } else {
                               printf(" %d*x ",result[i]);
                       }
               } else {
                       printf(" %d ",result[i]);
               }
       }

       printf("\n");
       s1=sizeof(p1)/4;
       printf("Ostatok: ");
       for (i=0; i<s1; i++) {
               if (p1[i]!=0) {
                       if (p1[i]>0) printf(" + ");
                       if (s1-i-1 !=0) {
                               printf(" %d*x^%d",p1[i],s1-i-1);
                       } else {
                               printf(" %d ",p1[i]);
                       }
               }
       }
       printf("\n");

}

testit' dolgo ne bilo vremeni - batarei sadiatsa na noute.
nadeius rabotaet.
--------------------

Подумав, надежнее заменить while (1) { ... if (s1<s2) break; } на while (s1<s2) {...}- на случай если первый полиром меньше
---------------------
Прогнал яsmile.gif while (s1>=s2) {...} имелось в виду.

Это сообщение отредактировал(а) dargaard - 28.5.2004, 19:08


--------------------
Ты должна сделать добро из зла 
потому что его больше не из чего
сделать. Р.П.Уоррен
PM MAIL WWW ICQ   Вверх
Guest
Дата 28.5.2004, 02:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо!
Не только за идею, как представить плиномы, но и за решение!
Протестую и обязательно напишу..
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1105 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.