ВУЗ:
Составители:
Рубрика:
51
// индексатор для получения коэффициента полинома по степени
double this[int i]
{
get { return a[i]; }
set { a[i] = value; }
}
// операция получения строкового представления полинома
public static implicit operator string(Polynom ob)
{
string str = "";
for (int i = ob.n; i >0; i--)
str = str + string.Format("{0}*x^{1}+", ob[i], i);
str = str + string.Format("{0}\n", ob[0]);
return str;
}
// функция формирования полинома из
// строки с коэффициентами полинома
public static Polynom Parse(string str)
{
// разделение коэффициентов полинома в строке
string[] s = str.Split(' ');
// формирование полинома по количеству элементов в
// массиве строк
Polynom res = new Polynom(s.Length - 1);
for (int i = 0; i < s.Length; i++)
res[i] = double.Parse(s[s.Length - 1 - i]);
return res;
}
Наконец, опишем те операции, которые следует определить согласно
интерфейсу IMathObject.
// функция получения строки, представляющей полином
public override string ToString()
{
// вызов оператора преобразования полинома в строку
return this;
}
// функция суммирования двух полиномов
public IMathObject Summa(IMathObject ob)
{
Polynom ob1 = ob as Polynom;
if (n > ob1.n)
{
// степень первого полинома больше, чем второго
// индексатор для получения коэффициента полинома по степени double this[int i] { get { return a[i]; } set { a[i] = value; } } // операция получения строкового представления полинома public static implicit operator string(Polynom ob) { string str = ""; for (int i = ob.n; i >0; i--) str = str + string.Format("{0}*x^{1}+", ob[i], i); str = str + string.Format("{0}\n", ob[0]); return str; } // функция формирования полинома из // строки с коэффициентами полинома public static Polynom Parse(string str) { // разделение коэффициентов полинома в строке string[] s = str.Split(' '); // формирование полинома по количеству элементов в // массиве строк Polynom res = new Polynom(s.Length - 1); for (int i = 0; i < s.Length; i++) res[i] = double.Parse(s[s.Length - 1 - i]); return res; } Наконец, опишем те операции, которые следует определить согласно интерфейсу IMathObject. // функция получения строки, представляющей полином public override string ToString() { // вызов оператора преобразования полинома в строку return this; } // функция суммирования двух полиномов public IMathObject Summa(IMathObject ob) { Polynom ob1 = ob as Polynom; if (n > ob1.n) { // степень первого полинома больше, чем второго 51
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »