資源簡介
3變量或4變量的卡諾圖繪制。
變量名分別為A,B,C,D;依次輸入各個最小項,如果最小項中含有這個變量,按y;含有這個變量的反,按n;不含這個變量,按d。
例如要輸入BC'D,則連按dyny。全部按d表示結束輸入。
代碼片段和文件信息
#include
#include
using?namespace?std;
char?name[4]={‘A‘‘B‘‘C‘‘D‘};
int?f[20][4];
void?var_3()
{
int?chtitem=0dddii;
bool?result[8]a[3]tempb;
cout<<“F(ABC)=“;
do
{
if(item>0)cout<<“+“;
ddd=0;
t=0;
do
{
ch=getch();
switch(ch)
{
case?89:
case?121:
cout< f[item][t]=1;
break;
case?78:
case?110:
cout< f[item][t]=0;
break;
case?68:
case?100:
f[item][t]=2;
break;
default:
continue;
}
ddd+=f[item][t];
t++;
}while(t<3);
item++;
}while(ddd!=6);
item--;
for(int?i=0;i<8;i++)
{
result[i]=false;
ii=i;
for(int?j=2;j>=0;j--)
{
a[j]=ii%2;
ii/=2;
}
for(int?j=0;j {
tempb=1;
for(int?k=0;k<3;k++)
{
if(f[j][k]==0)tempb=tempb&&(!a[k]);
else?if(f[j][k]==1)tempb=tempb&&a[k];
}
result[i]=result[i]||tempb;
}
}
cout< cout<<“A->“<<“?0?1“< cout<<“00??“< cout<<“01??“< cout<<“11??“< cout<<“10??“< }
void?var_4()
{
int?chtitem=0ddddii;
bool?result[16]a[4]tempb;
cout<<“F(ABCD)=“;
do
{
if(item>0)cout<<“+“;
dddd=0;
t=0;
do
{
ch=getc
評論
共有 條評論