?? 0.cpp
字號:
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#define max 15
int *Multiply(int A[max],int B[max],int *C)
{
int i,j,w;
int X,Y,Z;
int Avalid=0; //Avalid=validating bits of A
int Bvalid=0; //Bvalid=validating bits of B
int Cvalid=0; //Cvalid=validating bits of c
while (A[Avalid]==0 && Avalid<max)
Avalid++; //計算Avalid
while (B[Bvalid]==0 && Bvalid<max)
Bvalid++;
for(i=0;i<2*max;i++){C[i]=0;} //將C清零初始化
for(i=max-1;i>=Avalid;i--)
for(j=max-1;j>=Bvalid;j--) //逐位進行相乘運算
{
X=A[i]*B[j];
Y=X/10;
Z=X-10*Y;
w=i+j+1;
C[w]=C[w]+Z;
C[w-1]=C[w-1]+(C[w]/10)+Y;
C[w]=C[w]%10;
}
/* while (C[Cvalid]==0 && Cvalid<max)
Cvalid++;//計算Bvalid
for(i=Cvalid;i<2*max;i++)
{
cout<<C[i];
}*/
return C;
}
void main ()
{
int a[max],b[max],c[2*max],*p,pvalid=0;
int i;
for(i=0;i<max;i++)
{
a[i]=rand()%10;
}
for(i=0;i<max;i++)
{
b[i]=rand()%10;
}
for(i=0;i<max;i++)
{
cout<<a[i];
}
cout<<endl;
for(i=0;i<max;i++)
{
cout<<b[i];
}
cout<<endl;
p=Multiply( a, b,c);
while (p[pvalid]==0 && pvalid<2*max)
pvalid++;//計算Bvalid
for(i=pvalid;i<2*max;i++)
{
cout<<p[i];
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -