// метод взятия производной public static void trigDerivative(List<TrigCoef> a) { TrigCoef n = a.returnHead(); if (n.number == 0) a.firstDelete(); // удаляем нулевой элемент как производную константы // пройдемся итератором по списку for (TrigCoef x : a) { // берем производную синуса и косинуса int swap = -(x.cosCoef * x.number); x.cosCoef = x.sinCoef * x.number; x.sinCoef = swap; } }
// вывод вектора коэффицентов многочлена public static void trigOutput(List<TrigCoef> a) { int i = 1; TrigCoef n = a.returnHead(); if (n.number == 0) { // обработка нулевого коэффицента int coef = n.cosCoef + n.sinCoef; System.out.print(coef + " "); } else System.out.print("0" + " "); for (TrigCoef x : a) { if (x.number != 0) { // нулевой коэффициент уже обработан отдельно if (x.number == i) // если это следующий по порядку коэффицент System.out.print(x.cosCoef + " " + x.sinCoef + " "); // выводим его на экран else { // иначе выводим перед ним нужное количество нулей for (int j = 0; j < 2 * (x.number - i); j++) System.out.print("0" + " "); System.out.print(x.cosCoef + " " + x.sinCoef + " "); } i = x.number + 1; } } System.out.println(); // перевод курсора на новую строку }