آزاد87
سه شنبه 19 آذر 1387, 20:52 عصر
سلام به اساتيد محترم.
من برنامه ي فاكتوريل اعداد 2 رقمي را به شكل زير نوشتم ولي جواب نمي ده . راهنمايي كنيد چه كار كنم.
بايد بگم كه من همين برنامه يا بهتر بگم به همين شكل مي خوام و فقط ايراد ها را بگيريد.
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
using namespace System;
void main()
{
int a[500],b[500],x,i,c,r=0,t=1,p=499,d,s,z,w=0;
cout<<"Please Enter a number (For 0-100): ";
L1:
x=7;
//cin>>x;
if (x>100)
{
if (r==3)
{
cout<<"I'm cannot to answer you.Please enter any key to Exit.";
_getch();
return ;
}
cout<<"Your number out of a reange Please Enter again : ";
r++;
goto L1;
}
if (x==0)
{
cout<<"Your fact is : "<<1;
_getch();
return;
}
for (c=0;c<=501;c++)
a[c]=1;
for (c=0;c<=501;c++)
b[c]=0;
for (i=1;i<=x;i++)
{
s=0;
for (r=499,z=499;p<=z;z--)
{
t=r-1;
a[r]*=i;
for (;10<=a[r];)
{
if (a[r]==10)
{
a[r]/=10;
r--;
s=1;
w++;
}
else
{
d=a[r]%10;
a[t]+=(d-1);
a[r]/=10;
p--;
r--;
z--;
s=1;
w++;
}
}
if (s==0)
r--;
}
for (r=500;0<=r;r--)
if (b[r]==1)
{
a[r]++;
b[r]=0;
}
}
cout<<endl<<"Your Fact is : ";
for (r=0;r<=p;r++)
{
cout<<a[r];
}
_getch();
}
البته اگر برنامه ي ديگري داريد كه بهتر بود بازم بگذاريد.البته اگر شد ايراد همين برنامه را بگيريد.
اگر امكان داشت اشكال انگليسي نگيريد .
پيشاپيش ممنون.
من برنامه ي فاكتوريل اعداد 2 رقمي را به شكل زير نوشتم ولي جواب نمي ده . راهنمايي كنيد چه كار كنم.
بايد بگم كه من همين برنامه يا بهتر بگم به همين شكل مي خوام و فقط ايراد ها را بگيريد.
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
using namespace System;
void main()
{
int a[500],b[500],x,i,c,r=0,t=1,p=499,d,s,z,w=0;
cout<<"Please Enter a number (For 0-100): ";
L1:
x=7;
//cin>>x;
if (x>100)
{
if (r==3)
{
cout<<"I'm cannot to answer you.Please enter any key to Exit.";
_getch();
return ;
}
cout<<"Your number out of a reange Please Enter again : ";
r++;
goto L1;
}
if (x==0)
{
cout<<"Your fact is : "<<1;
_getch();
return;
}
for (c=0;c<=501;c++)
a[c]=1;
for (c=0;c<=501;c++)
b[c]=0;
for (i=1;i<=x;i++)
{
s=0;
for (r=499,z=499;p<=z;z--)
{
t=r-1;
a[r]*=i;
for (;10<=a[r];)
{
if (a[r]==10)
{
a[r]/=10;
r--;
s=1;
w++;
}
else
{
d=a[r]%10;
a[t]+=(d-1);
a[r]/=10;
p--;
r--;
z--;
s=1;
w++;
}
}
if (s==0)
r--;
}
for (r=500;0<=r;r--)
if (b[r]==1)
{
a[r]++;
b[r]=0;
}
}
cout<<endl<<"Your Fact is : ";
for (r=0;r<=p;r++)
{
cout<<a[r];
}
_getch();
}
البته اگر برنامه ي ديگري داريد كه بهتر بود بازم بگذاريد.البته اگر شد ايراد همين برنامه را بگيريد.
اگر امكان داشت اشكال انگليسي نگيريد .
پيشاپيش ممنون.