Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2009, 22:02   #1
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию класс Символьное дифференцирование

Реализовать абстрактный класс Expression с чисто виртуальными методами Expression *diff(); void print(); реализовать классы Number, Variable, Add (сумма), Sub (разность) с реализациями операции diff (дифференцирование) и print (печать на экран).

Пример:

Код:
Expression *e = new Add(new Number(1), new Variable('x'));
 	e->print();
 	std::cout << "\n";
 	Expression *de = e->diff();
 	de->print();
 	std::cout << "\n";
 	delete e;
 	delete ed;
Реализовать классы Mul (произведение), Div (частное), при желании функции типа Sin, Cos и т.п.

Реализовать чтение выражения из строки с автоматическим созданием необходимых объектов.
Пример:

Expression *e = read_expression("(x+1)*x");

кусок кода есть.Если что пошлю в ЛС.нужно чтобы дифференцировалось вводимое с клавиатуры выражение и полиномы...

Последний раз редактировалось Stilet; 20.11.2009 в 09:32.
patriarch вне форума Ответить с цитированием
Старый 23.11.2009, 11:06   #2
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию

скажите пожалуйста как в этом коде сделать так чтобы дифференцировались функции от синуса и косинуса, то есть степени и двойные углы
Код:
int main(void) {
	Expression *x = new Variable('x');
	Expression *sinx = new Sin(x), *cosx = new Cos(x);
	Expression *e =
		new Div(
				new Sub(sinx, cosx),
				new Add(sinx, cosx));
	e->print();
	std::cout << "\n";
	Expression *de = e->diff();
	de->print();
	std::cout << "\n";
	return 0;
}
patriarch вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоинкриментное и символьное поле. Связь artemavd БД в Delphi 27 03.07.2009 17:52
Matlab. Перевести символьное значение в строку Kras Помощь студентам 2 24.04.2009 18:19
C++ . Класс Ануар56 Помощь студентам 8 23.04.2009 19:41
Класс Юлёк Фриланс 6 15.06.2008 15:00