не знаю, пойдет или нет, но вот: #include <iostream> #define MAXIMUM 256 //до куда идет рекурсия #define INC 2 //на сколько увеличивается using namespace std; float recursiv(float x, int numerator){ if(numerator >= MAXIMUM) return MAXIMUM/x*x; return x*x + numerator/recursiv(x, numerator +INC); } void main(){ float x; cout << "Please input x: "; cin >> x; cout << "result = " << x / recursiv(x, 2) << endl; // getchar(); getchar(); } Если неправильно, то можешь подправить
Там название функции само за себя говорит - "рекурсия" http://ru.wikipedia.org/wiki/%D0%E5%EA%F3%F0%F1%E8%FF ( если не знаете, что это такое )
Помогите срочно что не правильно? #include <iostream.h> #include <conio.h> int main () { int i,x; double z,y; cin>>x; for(i=256.0;i<=2.0; i/2.0) z=x*x+i/x*x; y=x/z; cout<<y; getch(); }
Лучше поздно, чем никогда... А почему переменная i объявлена как целая, а в цикле она используется как дробная?
Ничего внутри писать не нужно. Он раньше дал определение i. Проблема, только в разности типов - задекларирован int, а используется как double. В твоей for можно использовать только цельные числа, никаких дробей вроде double, float.