void polydif(double *f, unsigned int fn, double *g, unsigned int gn) { unsigned int i;
gn = fn - 1; for (i = 0; i <= gn; i++) { *g++ = *++f * (i+1); } }
unsigned int i, fn, gn; double F[4], G[3];
main(void) { fn = deg; gn = deg - 1;
F[0] = 0; F[1] = 2; F[2] = 4; F[3] = 6;
polydif(F, fn, G, gn);
for (i = 0; i <= gn; i++) { printf("G[%d] = %3.2f ", i, G[i]); }
getchar(); }
f - коэффициенты многочлена степени fn, начинаю с 0-го.. g - коэффициенты многочлена, полученного после дифференцирования f и имеющего степень gn..
И тут же назрел еще один вопрос: эта моя функция записывает степень полученного многочлена в gn, а как сделать, чтобы ее можно было потом использовать в основной программе? Есть ли аналог ключа VAR в паскале?
[ Редактировано D3mon в 14.11.09 16:54 ]
Sony Xperia XZ3 Green Sony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
можеты меня не так понял, или я тебя в главной программе я знаю только fn. В ходе работы функции появляется gn, в данном случае оно равно fn-1. как мне сделать, чтобы gn имела тоже значение после работы функции, что и в ней?
Sony Xperia XZ3 Green Sony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
Переменная gn у тебя описана дважды: в функции и в самой программе. Во втором случае она глобальная, т.е. на всю программу. А функция работает с той переменной gn, какую ей передали. Поэтому из описания функции надо gn убрать, пусть она работает с глобальной переменной. Другой вариант - в описании переменной в функции написать &gn, тогда функция будет работать с самой переменной, а не с ее копией
iPhone 5S Neverlock 64gb iOS 8.4 + Jailbreak C901 R1GA028 Ocean White W715 R1GA030 Black
noa
Expert
Регистрация: 31.8.07 Сообщений: 740 Репутация: 259 Откуда: Москва - Подольск
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.