#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
int sgn(float);
int main()
{ clrscr();
cout<<"\t\t\t Monte-Carlo line equatations =)\n\n";
cout<<" Enter N: "; int N; cin>>N;
float **A=new float*[N]; float **B=new float*[N];
float *W=new float[N];
//vvod
cout<<" Enter coefficients of system:\n";
for(int i=0;i<N;i++)
{ A=new float[N+1]; B=new float[N];
cin>>A; B=fabs(A);
for(int j=1;j<N;j++)
{ cin>>A[j]; B[j]=B[j-i]+fabs(A[j]); }
cin>>A[N]; }
for(i=0;i<N;i++) W=A[N]/(1-B[N-1]);
////
cout<<" Enter B: "; int b; cin>>b;
cout<<" Enter M: "; int m; cin>>m;
int t=1, y=0, s;
float c; int V;
M: s=b; y=1;
if (t>m) goto P;
X: c=random(101)*.01;
for(int j=N-1;j>=0;j--)
if(c>B[j])
{ if(j==N-1) { t++; y+=V*W; goto M; }
else { V=V*sgn(A[j+1]); s=j+1; goto X;}
}
V=V*sgn(A[0]); s=0; goto X;
float x=y/m;
P: cout<<"Koren = "<<x;
getch();
for(i=0;i<=N;i++) delete[] A;
for(i=0;i<N;i++) delete[] B;
delete[] A; delete[] W;
return 1;
}
int sgn(float t)
{ if(t==0) return 0;
if(t>0) return 1;
return -1; }
(Метод Монте - Карло) решение систем алгебраических линейных уравнений
[COLOR="Red"]просьбы выслать на мыло не одобряются администрацией. e-mail удален. Также читайте правила форума: название темы должно отражать суть вопроса.[/COLOR] OlgaKr.
посмотри(найди) книгу "Численные методы" автор Заварыкин: там есть код(правда на бейсике) и хорошо описан сам метод, так что можно будет все сделать самому.
Ну вот переделал код, только матерится на что-то не пойму на что!!! Кто то может знает в чем проблема!