۲۷-آذر-۱۳۹۲, ۲۲:۰۳:۳۵
سلام
از دوستان لطفا هر کی بلده این کدها رو برای من توضیح بده لطفاً
این برنامه اعداد بزرگ رو جمع و ضرب میکنه
تو توربو سی پلاس پلاس نوشته شده
من میخوام بدونم چجوری کار میکنه روال کارش چطوریه
هر کی بلده کدهاش رو برام توضیح بده
ممنون
از دوستان لطفا هر کی بلده این کدها رو برای من توضیح بده لطفاً
کد:
#include<iostream.h>
#include<conio.h>
#include<string.h>
#define max 200
class bi
{
int a[max];
public:
bi();
bi(char []);
bi add(bi);
bi zarb(bi);
void print();
};
bi::bi()
{
for(int i=max;i>=0;i--)
a[i]=0;
}
bi::bi(char b[])
{
int str,k=0,i;
str=strlen(b);
for(i=max-str;i<max;i++)
a[i]=(int)b[k++]-48;
for(i=0;i<max-str;i++) a[i]=0;
}
bi bi::add(bi z)
{
bi t("000");
for(int i=max-1;i>=0;i--)
{
t.a[i-1]=(a[i]+z.a[i]+t.a[i])/10;
t.a[i]=(a[i]+z.a[i]+t.a[i])%10;
}
return t;
}
bi bi::zarb(bi z)
{
bi t("0000");
int i,j,k=max-1;
for(i=max-1;i>=0;i--)
{
for(j=max-1;j>=0;j--)
{
t.a[k-1]=(a[i]*z.a[j]+t.a[k])/10+t.a[k-1];
t.a[k]=(a[i]*z.a[j]+t.a[k])%10;
k--;
}
k=i-1;
}
return t;
}
void bi::print()
{
int j;
for(int i=0;i<max;i++)
if(a[i]) {j=i;break;}
for(i=j;i<max;i++)
cout<<a[i];
cout<<endl<<"************************************* **********\n";
}
void main()
{
clrscr();
char *int1,*int2;
cin>>int1>>int2;
bi a(int1),b(int2),c("000");
cout<<"Sum: ";
c=a.add(b);c.print();
cout<<"Mul: ";
c=a.zarb(b);c.print();
getch();
}
تو توربو سی پلاس پلاس نوشته شده
من میخوام بدونم چجوری کار میکنه روال کارش چطوریه
هر کی بلده کدهاش رو برام توضیح بده
ممنون