集合的运算
来源:互联网 发布:都市年轻人养猫数据 编辑:程序博客网 时间:2024/04/27 19:30
#include <iostream>
using namespace std;
class Test
{
public:
Test();
void InterFace();
void ShowDef();
void ShowSame();
void GetArrayA();
void GetArrayB();
protected:
private:
int m_nArray_1[20], m_nArray_2[20];
int m_nDef, m_nSame;
bool m_bRetCode;
};
Test::Test()
{
m_nDef = 0;
m_nSame = 0;
m_bRetCode = false;
}
void Test::GetArrayA()
{
int i, j, k, l;
cin >> j;
for(i = 0; i < j; i++)
{
cin >> k;
for (l = 0; l <= i; l++) //排除相同的
{
if (k == m_nArray_1[l])
{
m_bRetCode = true;
break;
}
}
if (!m_bRetCode)
{
m_nArray_1[m_nDef++] = k; //得到 A 中的不同元素
}
m_bRetCode = false;
}
InterFace();
}
void Test::GetArrayB()
{
int i, j, k, l;
cin >> j;
for(i = 0; i < j; i++)
{
cin >> k;
for (l = 0; l < m_nDef; l++)
{
if (k == m_nArray_1[l]) //得到交集
{
m_nArray_2[m_nSame++] = k;
m_bRetCode = true;
break;
}
}
if (!m_bRetCode) //得到并集
{
m_nArray_1[m_nDef++] = k;
}
m_bRetCode = false;
}
InterFace();
}
void Test::ShowSame()
{
for (int i = 0; i < m_nDef; i++)
{
cout << m_nArray_1[i] << endl;
}
InterFace();
}
void Test::ShowDef()
{
for (int j = 0; j < m_nSame; j++)
{
cout << m_nArray_2[j] << endl;
}
InterFace();
}
void Test::InterFace()
{
char szWord;
cin >> szWord;
switch (szWord)
{
case 'A'|'a':
GetArrayA();
break;
case 'B'|'b':
GetArrayB();
break;
case 'E'|'e':
exit(1);
break;
case 'U'|'u':
ShowSame();
break;
case 'I'|'i':
ShowDef();
break;
default:
break;
}
}
int main()
{
Test t1;
while (1)
{
t1.InterFace();
}
return 0;
}
- 集合的运算
- 集合的运算
- 集合的运算
- Matlab的集合运算
- sql的集合运算
- 离散数学 集合的运算
- 集合的运算
- 集合的运算
- 集合的交运算
- Matlab的集合运算
- Python 的集合运算
- 集合的交集运算
- 集合的代数运算
- STL---集合的运算
- Oracle的集合运算
- 集合的运算
- 集合的交并运算
- Oracle的集合运算符
- oracle中connect by prior实现递归查询
- 队列的链式存储结构与操作
- Spring MVC学习(二)
- 陈伯雄的论坛文章——实装配和虚装配
- chapter 2 : The Complexity of Algorithms and the Lower Bounds of Problems
- 集合的运算
- Access数据类型
- 二叉树的建立和访问的方法
- 计算二叉树的结点个数
- sql 2005
- 数组输出
- 打印方阵
- AC WA or PE
- PHP中判断数组是否为关联数组