IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Полиномы, Си
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

Репутация: -  0  +


Помогите пожалуйста с написанием следующей программы: мне нужно написать программу выполняющую арефмитические операции над полиномами + - * например <2x^3+x^2-5x>*<23x+2> полином должен быть представлен ввиде упорядоченного списка мономов. Нам сказали использовать 2 структуры


typedef struct //собственно так выглядит моном он состоит из коэфициента пред х и степени х.
{
int index;
int step;
}TMonom;

typedef struct TNode1
{
TMonom *monom; //это собственно сам элемент списка
struct TNode1 *next;

}TNode;


Собственно вопрос у меня пока 1 как из этого сформировать список?Если я выделяю память под элемент
TNode *beg=(TNode*)malloc(sizeof(TNode));
выделится память и пою моном?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Программа которую я написал может вычислять вот такие выражения<x^2-4x+12>*<23x+3>;
Если б она еще делала это правильно - цены б ей не было. А пока смотри, что получается:
<X^2-4X+12>*<23X+3>

Used: 112 bytes
RESULT:
-23X^2+273X+36

Released: 112 bytes

Process returned 0 (0x0) execution time : 0.015 s
Press any key to continue.

Хотя должно получиться 23X3-89X2+264X+36

Цитата
я же не могу засунуть в стек полином?
Что тебе мешает это сделать? Засунь указатель beg на полином (главное - чтобы поле данных стека позволяло, то есть, было того же типа, как и beg). Потом вытянешь его и сделаешь нужную операцию...

А насколько все было бы проще при использовании С++...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

Репутация: -  0  +


Цитата(volvo @ 24.05.2008 3:09) *

Если б она еще делала это правильно - цены б ей не было. А пока смотри, что получается:
Хотя должно получиться 23X3-89X2+264X+36

Эх считает она правильно ,а вот полином собирает криво (например <2x^2-1>*<3x^4+12x+1>; считает абсолютно верно) буду искать ошибку.Вот у меня возник тут еще 1 вопрос,надо мне еще сделать проверку на переполнение типа в который мы помещаем коэфициент и степень при формировании полинома и при операциях над ними.С отслеживанием переполнения при операциях проблем не возникло, а вот как реализовать отслеживание переполнения при формировании полинома?Грубо говоря как отследить возникнет ли переполнение при переводе строки в число?

Сообщение отредактировано: blackhard -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 15:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name