关于C++并、交、差集运算的一些问题
小妹初学C++,不是很懂,请高手帮助看一下,到底有什么问题!
特别是类方面,也不知道怎么定义和应用,所以请多加指教。
有什么写得不对的或大话摆出,也请谅解。
#include <iostream.h>
#define N 10
#define M 20
class JH //这个类是看了一些例题才写的,也不知对不?
{
public:
void input() ;
int p1[N],p2[N];
void JJH(int p1[],int p2[]);
void BJH(int p1[],int p2[]);
void CJH(int p1[],int p2[],int BJ[]);
private:
int JJ[N],BJ[M],CJ1[N],CJ2[N];
};
void JH::input() //输入
{
cout<<"P1数组"<<endl;
for(int i=0;i<N;i++)
{
cin>>p1[1];
}
cout<<"P2数组"<<endl;
for(i=0;i<N;i++)
{
cin>>p2;
}
}
void JH::JJH(int p1[],int p2[]) //交集
{
int k=0;
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
{
if (p1==p2[j]) JJ[k++]=p1;
break;
}
for(i=0;i<k;i++)
cout<<JJ<<",";
cout<<endl;
}
void JH::BJH(int p1[],int p2[]) //并集
{
int k=0;
for(int i=0;i<N;i++)
{int flag=0;
for(int j=0;j<N;j++)
{
if (p1==p2[j]) flag=1;
}
if (flag==0) BJ[k++]=p1;
}
for(int m=0;m<N;m++,k++)
BJ[k]=p2[m];
for(i=0;i<k;i++)
cout<<BJ<<",";
cout<<endl;
}
void JH::CJH(int p1[],int p2[],int JH[]) //差集,有两个P1-P2和P2-P1
{
int k1=0,k2=0;
for(int i=0;i<N;i++)
{
int flag1=0,flag2=0;
for(int j=0;j<N;j++)
{
if (p1==BJ[j]) flag1=1;
if (p2==BJ[j]) flag2=1;
}
if (flag1==0) CJ1[k1++]=p1;
if (flag2==0) CJ2[k2++]=p2;
}
for(i=0;i<k1;i++)
{
cout<<"P1-P2:"<<endl;
cout<<CJ1<<",";
cout<<endl;
}
for(i=0;i<k2;i++)
{
cout<<"P2-P1:"<<endl;
cout<<CJ2<<",";
cout<<endl;
}
}
void main() //MAIN程序不知怎么写
{
int p1[N],p2[N],CJ[M];
JH JHH;
JHH.input();
JHH.JJH(p1,p2);
JHH.BJH(p1,p2);
JHH.CJH(p1,p2,CJ);
}
到最后运行时,还出了两个错误:
--------------------Configuration: 11 - Win32 Debug--------------------
Compiling...
11.cpp
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/11.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
11.exe - 2 error(s), 0 warning(s)
请大侠们帮忙看看,小妹在此跪谢了!!!

最新回复
liuwei021117 (2007-10-07 11:45:47)