Помогите перевести с обычного С++ на Borland C++.
#include<graphics.h>
#include<math.h>
#include<iostream.h>
double func (double v,double t)
{return  (((8*t)/(3*v-1))-(3/(v*v)));}
double hord (double p,double a, double b, double t)
{ double c;
  c=(a+b)/2;
  while ((b-a)>0.00001)
   { if (p-func(c,t)>0)
     b=c;
     else a=c;
     c=(a+b)/2;}
	 return (c);}
double simpson (double vk1, double vk2,double t)
   { double del,s;
     int r;
     s=0;
     del=(vk2-vk1)/100;
     for (r=2; r<100; r=r+2)
     s=s+2*func(vk1+r*del,t);
     for (r=1; r<100; r=r+2)
     s=s+4*func(vk1+r*del,t);
     s=s+func(vk1,t)+func(vk2,t);
     s=s*del/3;
     return (s);}
void main()
{ int grd,grm,v0,y0;
  const int n = 200,numx=600,numy=400;
  double v[n],f[n],vmax=6,vmin=0.35,tmin,t,dt,dv,pmax=5,pmin=-3;
  double d1[10],d2[10],d3[10],d4[10];
  detectgraph (&grd,&grm);
  initgraph(&grd,&grm,"C:\\bgi");
  setbkcolor(1);
  line(20,20,20,460);
  line(20,460,620,460);
  dv=(vmax-vmin)/(n-1);
  v0=20; y0=460;
  tmin=0.55;
  dt=0.05;
  for (int j=1;j<((1-tmin)/dt)+1;j++)
   { t=tmin+dt*j;
     if (t<1)
      { for(int i=0;i<n;i++)
      	{v[i]=vmin+i*dv;
          f[i]=func(v[i],t);}
          {
          setcolor(RED);
          for(int i=0;i<n-1;i++)
          line(v0+numx*(v[i]-vmin)/(vmax-vmin),(y0-numy*(f[i]-pmin)/(pmax-pmin)),v0+numx*(v[i+1]-vmin)/(vmax-vmin),(y0-numy*(f[i+1]-pmin)/(pmax-pmin)));}
          int k;
          double p1,p2,min,max,v1,v2;
          min=f[0];
          for (int i=1;i<n;i++)
             { if (min>f[i])
                {k=i,v1=v[i];min=func(v1,t);}
          	     else  break;}
          max=min;
          for (int j=0;j<n;)
            { j=k+1+j;
              if (max<f[j])
                {v2=v[j];max=func(v2,t);}
              else  break;}
          double P1,Pl, P2, vk1, vk2, S1, S2;
          P1=func(v1,t);
          P2=func(v2,t);
          Pl=(P1+P2)/2;
          vk1=hord(Pl,vmin,v1,t);
          vk2=hord(Pl,v2,vmax,t);
          S1=simpson(vk1, vk2, t);
          S2=Pl*(vk2-vk1);
          while (fabs(S1-S2)>0.0001)
            { Pl=(P1+P2)/2;
              vk1=hord(Pl,vmin,v1,t);
              vk2=hord(Pl,v2,vmax,t);
              S1=simpson(vk1, vk2, t);
              S2=Pl*(vk2-vk1);
              if (S1<S2)
         			P2=Pl;
              else P1=Pl;}
          Pl=(P1+P2)/2;
          p1=hord(Pl,vmin,v1,t);
  			 p2=hord(Pl,v2,vmax,t);
          d1[j]=p1;d2[j]=p2;
          d3[j]=P1;d4[j]=P2;
  			 setcolor(WHITE);
          line((v0+numx*(p1-vmin)/(vmax-vmin)),(y0-numy*(Pl-pmin)/(pmax-pmin)),(v0+numx*(p2-vmin)/(vmax-vmin)),(y0-numy*(Pl-pmin)/(pmax-pmin)));}
          else
          {for(int i=0;i<n;i++)
            { t=1;
              v[i]=vmin+i*dv;
              f[i]=func(v[i],t); }
              {
                         setcolor(RED);
           for(int i=0;i<n;i++)
           lineto((v0+numx*(v[i]-vmin)/(vmax-vmin)),(y0-numy*(f[i]-pmin)/(pmax-pmin)));}
          double P1;
          P1=func(1,t);
          d1[j]=1;d2[j]=1;
		    d3[j]=P1;d4[j]=P1;}}
  for (int i=1;i<((1-tmin)/dt);i++)
	 { setcolor(10);
		line((v0+numx*(d1[i]-vmin)/(vmax-vmin)),(y0-numy*(d3[i]-pmin)/(pmax-pmin)),(v0+numx*(d1[i+1]-vmin)/(vmax-vmin)),(y0-numy*(d3[i+1]-pmin)/(pmax-pmin)));
 	   line((v0+numx*(d2[i]-vmin)/(vmax-vmin)),(y0-numy*(d4[i]-pmin)/(pmax-pmin)),(v0+numx*(d2[i+1]-vmin)/(vmax-vmin)),(y0-numy*(d4[i+1]-pmin)/(pmax-pmin)));}
      setcolor(1);
  char a;
  cin>>a;
  }
У меня вроде всё как получается но вот с выводом графики полный тупик. Не как не могу нормально вывести график:(