happyfeat
یک شنبه 02 خرداد 1389, 11:57 صبح
با سلام
دوستان این برنامه بعد از کامپایل شدن فایل exe آن به صورت stop working در آمده و برنامه هنگ شده و اجرا نمی شود
لطفا در این زمینه من را راهنمایی نمایید
کد را در زیر قرار دادم
// To be run with arguments n i k. "./stirling.x n k"
#include <iostream>
using namespace std;
unsigned long long int mnozenie = 0;
unsigned long long int stirling(unsigned long long int n, unsigned long long
int k)
{
unsigned long long int a[n][k];
for (int i=0; i<=n; i++){ //clearing the table with zeros
for (int j=0; j<=k; j++){
a[i][j]=0;
};
};
for (int i=0; i<=n; i++){
for (int j=0; j<=k; j++){
if (i<j) a[i][j]=0;
else if (i==j) a[i][j]=1;
else if (j==1) a[i][j]=1;
else if (j==0) a[i][j]=0;
else if ((j<i)&&((!(j==1))&&(!(j==0)))) a[i][j]= (j * a[i-1][j]) + a[i-1][j-1];
cout<<"i: "<<i<<", j: "<<j<<", a[i][j]: "<<a[i][j]<<endl;
};
};
for (int i=0; i<=n; i++){
for (int j=0; j<=i; j++){
cout<<"i: "<<i<<", j: "<<j<<", a[i][j]: "<<a[i][j]<<endl;
};
};
return a[n][k];
}
int main(int argc, char *argv[])
{
unsigned long long int a,b;
int n,k;
n = atoi(argv[1]);
k = atoi(argv[2]);
if ( n < k ) { cout << "N must be grater than k!" << endl; }
cout<<"n: "<<n<<endl<<"k: "<<k<<endl<<"Stirling num: "<<stirling(n,k)<<endl;
return 0;
}
دوستان این برنامه بعد از کامپایل شدن فایل exe آن به صورت stop working در آمده و برنامه هنگ شده و اجرا نمی شود
لطفا در این زمینه من را راهنمایی نمایید
کد را در زیر قرار دادم
// To be run with arguments n i k. "./stirling.x n k"
#include <iostream>
using namespace std;
unsigned long long int mnozenie = 0;
unsigned long long int stirling(unsigned long long int n, unsigned long long
int k)
{
unsigned long long int a[n][k];
for (int i=0; i<=n; i++){ //clearing the table with zeros
for (int j=0; j<=k; j++){
a[i][j]=0;
};
};
for (int i=0; i<=n; i++){
for (int j=0; j<=k; j++){
if (i<j) a[i][j]=0;
else if (i==j) a[i][j]=1;
else if (j==1) a[i][j]=1;
else if (j==0) a[i][j]=0;
else if ((j<i)&&((!(j==1))&&(!(j==0)))) a[i][j]= (j * a[i-1][j]) + a[i-1][j-1];
cout<<"i: "<<i<<", j: "<<j<<", a[i][j]: "<<a[i][j]<<endl;
};
};
for (int i=0; i<=n; i++){
for (int j=0; j<=i; j++){
cout<<"i: "<<i<<", j: "<<j<<", a[i][j]: "<<a[i][j]<<endl;
};
};
return a[n][k];
}
int main(int argc, char *argv[])
{
unsigned long long int a,b;
int n,k;
n = atoi(argv[1]);
k = atoi(argv[2]);
if ( n < k ) { cout << "N must be grater than k!" << endl; }
cout<<"n: "<<n<<endl<<"k: "<<k<<endl<<"Stirling num: "<<stirling(n,k)<<endl;
return 0;
}