#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <windows.h>
#include <iomanip.h>
void main()
{
int n,i,k;
float h,c1,c2,c,d1,d2,d,fx,a,b,k1,k2,m,H,runge;
float p[9999],q[9999],betta[9999],gamma[9999],fi[9999],alfa[9999];
float y[9999],u[9999],v[9999],x[9999],Y[9999];
c1=d1=1.0;
c2=d2=1.0;
fx=0.0;
cout<<"Vvedite kraia otrezka [a,b] i 4islo uzlov n"<<endl;
cout<<endl<<"a=";
cin>>a;
cout<<endl<<"b=";
cin>>b;
cout<<endl<<"n=";
cin>>n; cout<<endl<<"A tak ge parametri c,d,k1,k2,m"<<endl;
cin>>c>>d>>k1>>k2>>m;
x[0]=a;
h=(b-a)/n;
betta[0]=c1*h-c2;
gamma[0]=c2;
fi[0]=h*c;
alfa[0]=0;
for(i=1;i<n;i++)
{
x[i]=x[i-1]+h;
p[i]=(k1+k2*x[i])/(x[i]*x[i]-1);
q[i]=m/sqrt(1-x[i]*x[i]);
fi[i]=fx*h*h;
alfa[i]=1-(1/2)*p[i];
betta[i]=q[i]*h*h-2;
gamma[i]=1+(1/2)*p[i]*h;
}
alfa[n]=-d2;
betta[n]=h*d1+d2;
fi[n]=h*d;
v[0]=gamma[0]/betta[0];
u[0]=fi[0]/betta[0];
for(i=1;i<n;i++)
{
v[i]=-gamma[i]/(betta[i]+alfa[i]*v[i-1]);
u[i]=(fi[i]-alfa[i]*u[i-1])/(betta[i]+alfa[i]*v[i-1]);
}
y[n]=u[n];
for(i=n-1;i>0;i--)
y[i]=u[i]+v[i]*y[i+1];
cout<<" i"<<" x "<<" y"<<endl;
for(i=0;i<n;i++)
{
cout.width(4);
cout<<i;
cout.width(5);
cout<<x[i];
cout.width(14);
cout<<y[i]<<endl;
}
H=(b-a)/(2*n);
betta[0]=c1*H-c2;
gamma[0]=c2;
fi[0]=H*c;
alfa[0]=0;
k=2*n;
for(i=1;i<k;i++)
{
x[i]=x[i-1]+H;
p[i]=(k1+k2*x[i])/(x[i]*x[i]-1);
q[i]=m/sqrt(1-x[i]*x[i]);
fi[i]=fx*H*H;
alfa[i]=1-(1/2)*p[i];
betta[i]=q[i]*H*H-2;
gamma[i]=1+(1/2)*p[i]*H;
}
alfa[k]=-d2;
betta[k]=H*d1+d2;
fi[k]=H*d;
v[0]=gamma[0]/betta[0];
u[0]=fi[0]/betta[0];
for(i=1;i<k;i++)
{
v[i]=-gamma[i]/(betta[i]+alfa[i]*v[i-1]);
u[i]=(fi[i]-alfa[i]*u[i-1])/(betta[i]+alfa[i]*v[i-1]);
}
Y[k]=u[k];
for(i=2*n-1;i>0;i--)
Y[i]=u[i]+v[i]*Y[i+1];
cout<<" i"<<" x "<<" Y"<<endl;
for(i=0;i<k;i++)
{
cout.width(4);
cout<<i;
cout.width(5);
cout<<x[i];
cout.width(14);
cout<<Y[i]<<endl;
}
cout<<"pogre6nost' po pravily runge:"<<endl;
for(i=0;i<n;i++)
{
runge=(Y[2*i]-y[i]);
cout<<runge<<endl;
}
system("PAUSE");
}
I2luY2x1ZGUgPGlvc3RyZWFtLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDx3aW5kb3dzLmg+CiNpbmNsdWRlIDxpb21hbmlwLmg+CgoKdm9pZCBtYWluKCkKewoJaW50IG4saSxrOwoJZmxvYXQgaCxjMSxjMixjLGQxLGQyLGQsZngsYSxiLGsxLGsyLG0sSCxydW5nZTsKCWZsb2F0IHBbOTk5OV0scVs5OTk5XSxiZXR0YVs5OTk5XSxnYW1tYVs5OTk5XSxmaVs5OTk5XSxhbGZhWzk5OTldOwoJZmxvYXQgeVs5OTk5XSx1Wzk5OTldLHZbOTk5OV0seFs5OTk5XSxZWzk5OTldOwoJYzE9ZDE9MS4wOwoJYzI9ZDI9MS4wOwoJZng9MC4wOwoJY291dDw8IlZ2ZWRpdGUga3JhaWEgb3RyZXprYSBbYSxiXSBpIDRpc2xvIHV6bG92IG4iPDxlbmRsOwoJY291dDw8ZW5kbDw8ImE9IjsKCWNpbj4+YTsKCWNvdXQ8PGVuZGw8PCJiPSI7CgljaW4+PmI7Cgljb3V0PDxlbmRsPDwibj0iOwoJY2luPj5uOyBjb3V0PDxlbmRsPDwiQSB0YWsgZ2UgcGFyYW1ldHJpIGMsZCxrMSxrMixtIjw8ZW5kbDsKCWNpbj4+Yz4+ZD4+azE+PmsyPj5tOwoJeFswXT1hOwoJaD0oYi1hKS9uOwoJYmV0dGFbMF09YzEqaC1jMjsKCWdhbW1hWzBdPWMyOwoJZmlbMF09aCpjOwoJYWxmYVswXT0wOwoJZm9yKGk9MTtpPG47aSsrKQoJewoJCXhbaV09eFtpLTFdK2g7CgkJcFtpXT0oazErazIqeFtpXSkvKHhbaV0qeFtpXS0xKTsKCQlxW2ldPW0vc3FydCgxLXhbaV0qeFtpXSk7CgkJZmlbaV09ZngqaCpoOwoJCWFsZmFbaV09MS0oMS8yKSpwW2ldOwoJCWJldHRhW2ldPXFbaV0qaCpoLTI7CgkJZ2FtbWFbaV09MSsoMS8yKSpwW2ldKmg7Cgl9CglhbGZhW25dPS1kMjsKCWJldHRhW25dPWgqZDErZDI7CglmaVtuXT1oKmQ7Cgl2WzBdPWdhbW1hWzBdL2JldHRhWzBdOwoJdVswXT1maVswXS9iZXR0YVswXTsKCWZvcihpPTE7aTxuO2krKykKCXsKCQl2W2ldPS1nYW1tYVtpXS8oYmV0dGFbaV0rYWxmYVtpXSp2W2ktMV0pOwoJCXVbaV09KGZpW2ldLWFsZmFbaV0qdVtpLTFdKS8oYmV0dGFbaV0rYWxmYVtpXSp2W2ktMV0pOwoJfQoJeVtuXT11W25dOwoJZm9yKGk9bi0xO2k+MDtpLS0pIAoJCXlbaV09dVtpXSt2W2ldKnlbaSsxXTsKCWNvdXQ8PCIgICBpIjw8IiAgeCAgIjw8IiAgICAgeSI8PGVuZGw7Cglmb3IoaT0wO2k8bjtpKyspCgl7CgkJY291dC53aWR0aCg0KTsKCQljb3V0PDxpOwoJCWNvdXQud2lkdGgoNSk7CgkJY291dDw8eFtpXTsKCQljb3V0LndpZHRoKDE0KTsKCQljb3V0PDx5W2ldPDxlbmRsOwoJfQoKCUg9KGItYSkvKDIqbik7CgliZXR0YVswXT1jMSpILWMyOwoJZ2FtbWFbMF09YzI7CglmaVswXT1IKmM7CglhbGZhWzBdPTA7CglrPTIqbjsKCWZvcihpPTE7aTxrO2krKykKCXsKCQl4W2ldPXhbaS0xXStIOwoJCXBbaV09KGsxK2syKnhbaV0pLyh4W2ldKnhbaV0tMSk7CgkJcVtpXT1tL3NxcnQoMS14W2ldKnhbaV0pOwoJCWZpW2ldPWZ4KkgqSDsKCQlhbGZhW2ldPTEtKDEvMikqcFtpXTsKCQliZXR0YVtpXT1xW2ldKkgqSC0yOwoJCWdhbW1hW2ldPTErKDEvMikqcFtpXSpIOwoJfQoJYWxmYVtrXT0tZDI7CgliZXR0YVtrXT1IKmQxK2QyOwoJZmlba109SCpkOwoJdlswXT1nYW1tYVswXS9iZXR0YVswXTsKCXVbMF09ZmlbMF0vYmV0dGFbMF07Cglmb3IoaT0xO2k8aztpKyspCgl7CgkJdltpXT0tZ2FtbWFbaV0vKGJldHRhW2ldK2FsZmFbaV0qdltpLTFdKTsKCQl1W2ldPShmaVtpXS1hbGZhW2ldKnVbaS0xXSkvKGJldHRhW2ldK2FsZmFbaV0qdltpLTFdKTsKCX0KCVlba109dVtrXTsKCWZvcihpPTIqbi0xO2k+MDtpLS0pIAoJCVlbaV09dVtpXSt2W2ldKllbaSsxXTsKCWNvdXQ8PCIgICBpIjw8IiAgeCAgIjw8IiAgICAgWSI8PGVuZGw7Cglmb3IoaT0wO2k8aztpKyspCgl7CgkJY291dC53aWR0aCg0KTsKCQljb3V0PDxpOwoJCWNvdXQud2lkdGgoNSk7CgkJY291dDw8eFtpXTsKCQljb3V0LndpZHRoKDE0KTsKCQljb3V0PDxZW2ldPDxlbmRsOwoJfQoJY291dDw8InBvZ3JlNm5vc3QnIHBvIHByYXZpbHkgcnVuZ2U6Ijw8ZW5kbDsKCWZvcihpPTA7aTxuO2krKykKCXsKCQlydW5nZT0oWVsyKmldLXlbaV0pOwoJCWNvdXQ8PHJ1bmdlPDxlbmRsOwoJfQoJc3lzdGVtKCJQQVVTRSIpOwp9
I2luY2x1ZGUgJmx0O2lvc3RyZWFtLmgmZ3Q7CiNpbmNsdWRlICZsdDtzdGRpby5oJmd0OwojaW5jbHVkZSAmbHQ7bWF0aC5oJmd0OwojaW5jbHVkZSAmbHQ7c3RkbGliLmgmZ3Q7CiNpbmNsdWRlICZsdDt3aW5kb3dzLmgmZ3Q7CiNpbmNsdWRlICZsdDtpb21hbmlwLmgmZ3Q7CgoKdm9pZCBtYWluKCkKewoJaW50IG4saSxrOwoJZmxvYXQgaCxjMSxjMixjLGQxLGQyLGQsZngsYSxiLGsxLGsyLG0sSCxydW5nZTsKCWZsb2F0IHBbOTk5OV0scVs5OTk5XSxiZXR0YVs5OTk5XSxnYW1tYVs5OTk5XSxmaVs5OTk5XSxhbGZhWzk5OTldOwoJZmxvYXQgeVs5OTk5XSx1Wzk5OTldLHZbOTk5OV0seFs5OTk5XSxZWzk5OTldOwoJYzE9ZDE9MS4wOwoJYzI9ZDI9MS4wOwoJZng9MC4wOwoJY291dCZsdDsmbHQ7JnF1b3Q7VnZlZGl0ZSBrcmFpYSBvdHJlemthIFthLGJdIGkgNGlzbG8gdXpsb3YgbiZxdW90OyZsdDsmbHQ7ZW5kbDsKCWNvdXQmbHQ7Jmx0O2VuZGwmbHQ7Jmx0OyZxdW90O2E9JnF1b3Q7OwoJY2luJmd0OyZndDthOwoJY291dCZsdDsmbHQ7ZW5kbCZsdDsmbHQ7JnF1b3Q7Yj0mcXVvdDs7CgljaW4mZ3Q7Jmd0O2I7Cgljb3V0Jmx0OyZsdDtlbmRsJmx0OyZsdDsmcXVvdDtuPSZxdW90OzsKCWNpbiZndDsmZ3Q7bjsgY291dCZsdDsmbHQ7ZW5kbCZsdDsmbHQ7JnF1b3Q7QSB0YWsgZ2UgcGFyYW1ldHJpIGMsZCxrMSxrMixtJnF1b3Q7Jmx0OyZsdDtlbmRsOwoJY2luJmd0OyZndDtjJmd0OyZndDtkJmd0OyZndDtrMSZndDsmZ3Q7azImZ3Q7Jmd0O207Cgl4WzBdPWE7CgloPShiLWEpL247CgliZXR0YVswXT1jMSpoLWMyOwoJZ2FtbWFbMF09YzI7CglmaVswXT1oKmM7CglhbGZhWzBdPTA7Cglmb3IoaT0xO2kmbHQ7bjtpKyspCgl7CgkJeFtpXT14W2ktMV0raDsKCQlwW2ldPShrMStrMip4W2ldKS8oeFtpXSp4W2ldLTEpOwoJCXFbaV09bS9zcXJ0KDEteFtpXSp4W2ldKTsKCQlmaVtpXT1meCpoKmg7CgkJYWxmYVtpXT0xLSgxLzIpKnBbaV07CgkJYmV0dGFbaV09cVtpXSpoKmgtMjsKCQlnYW1tYVtpXT0xKygxLzIpKnBbaV0qaDsKCX0KCWFsZmFbbl09LWQyOwoJYmV0dGFbbl09aCpkMStkMjsKCWZpW25dPWgqZDsKCXZbMF09Z2FtbWFbMF0vYmV0dGFbMF07Cgl1WzBdPWZpWzBdL2JldHRhWzBdOwoJZm9yKGk9MTtpJmx0O247aSsrKQoJewoJCXZbaV09LWdhbW1hW2ldLyhiZXR0YVtpXSthbGZhW2ldKnZbaS0xXSk7CgkJdVtpXT0oZmlbaV0tYWxmYVtpXSp1W2ktMV0pLyhiZXR0YVtpXSthbGZhW2ldKnZbaS0xXSk7Cgl9Cgl5W25dPXVbbl07Cglmb3IoaT1uLTE7aSZndDswO2ktLSkgCgkJeVtpXT11W2ldK3ZbaV0qeVtpKzFdOwoJY291dCZsdDsmbHQ7JnF1b3Q7ICAgaSZxdW90OyZsdDsmbHQ7JnF1b3Q7ICB4ICAmcXVvdDsmbHQ7Jmx0OyZxdW90OyAgICAgeSZxdW90OyZsdDsmbHQ7ZW5kbDsKCWZvcihpPTA7aSZsdDtuO2krKykKCXsKCQljb3V0LndpZHRoKDQpOwoJCWNvdXQmbHQ7Jmx0O2k7CgkJY291dC53aWR0aCg1KTsKCQljb3V0Jmx0OyZsdDt4W2ldOwoJCWNvdXQud2lkdGgoMTQpOwoJCWNvdXQmbHQ7Jmx0O3lbaV0mbHQ7Jmx0O2VuZGw7Cgl9CgoJSD0oYi1hKS8oMipuKTsKCWJldHRhWzBdPWMxKkgtYzI7CglnYW1tYVswXT1jMjsKCWZpWzBdPUgqYzsKCWFsZmFbMF09MDsKCWs9MipuOwoJZm9yKGk9MTtpJmx0O2s7aSsrKQoJewoJCXhbaV09eFtpLTFdK0g7CgkJcFtpXT0oazErazIqeFtpXSkvKHhbaV0qeFtpXS0xKTsKCQlxW2ldPW0vc3FydCgxLXhbaV0qeFtpXSk7CgkJZmlbaV09ZngqSCpIOwoJCWFsZmFbaV09MS0oMS8yKSpwW2ldOwoJCWJldHRhW2ldPXFbaV0qSCpILTI7CgkJZ2FtbWFbaV09MSsoMS8yKSpwW2ldKkg7Cgl9CglhbGZhW2tdPS1kMjsKCWJldHRhW2tdPUgqZDErZDI7CglmaVtrXT1IKmQ7Cgl2WzBdPWdhbW1hWzBdL2JldHRhWzBdOwoJdVswXT1maVswXS9iZXR0YVswXTsKCWZvcihpPTE7aSZsdDtrO2krKykKCXsKCQl2W2ldPS1nYW1tYVtpXS8oYmV0dGFbaV0rYWxmYVtpXSp2W2ktMV0pOwoJCXVbaV09KGZpW2ldLWFsZmFbaV0qdVtpLTFdKS8oYmV0dGFbaV0rYWxmYVtpXSp2W2ktMV0pOwoJfQoJWVtrXT11W2tdOwoJZm9yKGk9MipuLTE7aSZndDswO2ktLSkgCgkJWVtpXT11W2ldK3ZbaV0qWVtpKzFdOwoJY291dCZsdDsmbHQ7JnF1b3Q7ICAgaSZxdW90OyZsdDsmbHQ7JnF1b3Q7ICB4ICAmcXVvdDsmbHQ7Jmx0OyZxdW90OyAgICAgWSZxdW90OyZsdDsmbHQ7ZW5kbDsKCWZvcihpPTA7aSZsdDtrO2krKykKCXsKCQljb3V0LndpZHRoKDQpOwoJCWNvdXQmbHQ7Jmx0O2k7CgkJY291dC53aWR0aCg1KTsKCQljb3V0Jmx0OyZsdDt4W2ldOwoJCWNvdXQud2lkdGgoMTQpOwoJCWNvdXQmbHQ7Jmx0O1lbaV0mbHQ7Jmx0O2VuZGw7Cgl9Cgljb3V0Jmx0OyZsdDsmcXVvdDtwb2dyZTZub3N0JyBwbyBwcmF2aWx5IHJ1bmdlOiZxdW90OyZsdDsmbHQ7ZW5kbDsKCWZvcihpPTA7aSZsdDtuO2krKykKCXsKCQlydW5nZT0oWVsyKmldLXlbaV0pOwoJCWNvdXQmbHQ7Jmx0O3J1bmdlJmx0OyZsdDtlbmRsOwoJfQoJc3lzdGVtKCZxdW90O1BBVVNFJnF1b3Q7KTsKfQo=
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <windows.h>
#include <iomanip.h>
void main()
{
int n,i,k;
float h,c1,c2,c,d1,d2,d,fx,a,b,k1,k2,m,H,runge;
float p[9999],q[9999],betta[9999],gamma[9999],fi[9999],alfa[9999];
float y[9999],u[9999],v[9999],x[9999],Y[9999];
c1=d1=1.0;
c2=d2=1.0;
fx=0.0;
cout<<"Vvedite kraia otrezka [a,b] i 4islo uzlov n"<<endl;
cout<<endl<<"a=";
cin>>a;
cout<<endl<<"b=";
cin>>b;
cout<<endl<<"n=";
cin>>n; cout<<endl<<"A tak ge parametri c,d,k1,k2,m"<<endl;
cin>>c>>d>>k1>>k2>>m;
x[0]=a;
h=(b-a)/n;
betta[0]=c1*h-c2;
gamma[0]=c2;
fi[0]=h*c;
alfa[0]=0;
for(i=1;i<n;i++)
{
x[i]=x[i-1]+h;
p[i]=(k1+k2*x[i])/(x[i]*x[i]-1);
q[i]=m/sqrt(1-x[i]*x[i]);
fi[i]=fx*h*h;
alfa[i]=1-(1/2)*p[i];
betta[i]=q[i]*h*h-2;
gamma[i]=1+(1/2)*p[i]*h;
}
alfa[n]=-d2;
betta[n]=h*d1+d2;
fi[n]=h*d;
v[0]=gamma[0]/betta[0];
u[0]=fi[0]/betta[0];
for(i=1;i<n;i++)
{
v[i]=-gamma[i]/(betta[i]+alfa[i]*v[i-1]);
u[i]=(fi[i]-alfa[i]*u[i-1])/(betta[i]+alfa[i]*v[i-1]);
}
y[n]=u[n];
for(i=n-1;i>0;i--)
y[i]=u[i]+v[i]*y[i+1];
cout<<" i"<<" x "<<" y"<<endl;
for(i=0;i<n;i++)
{
cout.width(4);
cout<<i;
cout.width(5);
cout<<x[i];
cout.width(14);
cout<<y[i]<<endl;
}
H=(b-a)/(2*n);
betta[0]=c1*H-c2;
gamma[0]=c2;
fi[0]=H*c;
alfa[0]=0;
k=2*n;
for(i=1;i<k;i++)
{
x[i]=x[i-1]+H;
p[i]=(k1+k2*x[i])/(x[i]*x[i]-1);
q[i]=m/sqrt(1-x[i]*x[i]);
fi[i]=fx*H*H;
alfa[i]=1-(1/2)*p[i];
betta[i]=q[i]*H*H-2;
gamma[i]=1+(1/2)*p[i]*H;
}
alfa[k]=-d2;
betta[k]=H*d1+d2;
fi[k]=H*d;
v[0]=gamma[0]/betta[0];
u[0]=fi[0]/betta[0];
for(i=1;i<k;i++)
{
v[i]=-gamma[i]/(betta[i]+alfa[i]*v[i-1]);
u[i]=(fi[i]-alfa[i]*u[i-1])/(betta[i]+alfa[i]*v[i-1]);
}
Y[k]=u[k];
for(i=2*n-1;i>0;i--)
Y[i]=u[i]+v[i]*Y[i+1];
cout<<" i"<<" x "<<" Y"<<endl;
for(i=0;i<k;i++)
{
cout.width(4);
cout<<i;
cout.width(5);
cout<<x[i];
cout.width(14);
cout<<Y[i]<<endl;
}
cout<<"pogre6nost' po pravily runge:"<<endl;
for(i=0;i<n;i++)
{
runge=(Y[2*i]-y[i]);
cout<<runge<<endl;
}
system("PAUSE");
}