Программа зависает после ввода данных - C (СИ)
Формулировка задачи:
#include <iostream> #include <cmath> using namespace std; int main() { int n; double ypred, y,F,F1,eps=0.10; double *x=new double [n]; delete []x; cout << "Enter n"; cin >> n; for (int j=1; j<=n; j++) { cout << "Enter x"; cin >> x[j]; } for (int j=1; j<=n; j++) { ypred = -(sqrt(1+x[j]*x[j]))/(1+0.4*x[j]*x[j])/(3+x[j]*x[j]); do{ y=ypred; F=y*(3+x[j]*x[j])+(sqrt(1+x[j]*x[j]))/(1+0.4*x[j]*x[j])+2*(sin(1+y)); F1=3+x[j]*x[j]+2*(cos(1+y)); y-=F/F1; } while ( fabs(ypred-y)>eps); cout <<"("<<x<<";"<<y<<")"; } return 0; }
Решение задачи: «Программа зависает после ввода данных»
textual
Листинг программы
#include <iostream.h> #include <math.h> #include <conio.h> using namespace std; double fi(double x) {return (3+x*x) ;} double ksi (double x) {return sqrt(1+x*x)/(1+0.4*x*x);} double lam (double y) {return 2*sin(1+y);} double lam1 (double y) {return 2*cos(1+y);} // производная int main() { int n; double ypred,y,eps=0.10; cout << "Enter n "; cin >> n; double *x = new double[n]; for (int j=0; j<n; j++) { cout << "Enter x "; cin >> x[j]; } for (int j=0; j<n; j++) { y = -ksi(x[j])/fi(x[j]); do { ypred=y; y-=( y*fi(x[j])+ksi(x[j])+lam(y) ) / ( fi(x[j])+lam1(y) ); } while ( fabs(ypred-y)>eps); cout <<"\n("<<x[j]<<";"<<y<<")"; } delete []x; getch(); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д