求助!!!求助C++编程高手帮忙解2道题!

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:14:34
C++程序设计
求助C++编程高手帮忙解2道题,解好后请联系QQ:370837181或发邮件ww075@126.com,多谢^_^

1、 编写一个简单的加密程序:输入四位整数,按照以下加密算法处理后,生成加密后的四位整数输出。
加密算法:(每一位的数字+8)mod 10,处理后的数字中第1位和第四位交换,第2位和第3位交换。

运行示例:
输入四位整数: 7523
加密后的四位整数是: 1035

2、定义如下集合类的函数成员
class SET{
int *elem; 存放集合元素的动态内存
int count, total;目前元素个数及最大元素个数

public:
SET(int total);
SET (const SET &);
int find(int val) const; //查找元素val, 若找到返回1, 否则返回0
int full(void)const;//集合满时返回1, 否则返回0
int empty(void)const;//集合空时返回1, 否则返回0
virtual SET operator+(const SET &);//集合的并集
virtual SET operator-(const SET &);//集合的差集
virtual SET operator*(const SET &);//集合的交集
virtual SET operator<<(int value);//增加一个元素
virtual SET operator>>(int value);//删除一个元素
virtual SET &operator+=(const SET &);//集合的并集
virtual SET &operator-=(const SET &);//集合的差集
virtual SET &operator*=(const SET &);//集合的交集
virtual SET &op

#include"iostream.h"
void main()
{
int n, a[4], m;
cout<<"请输入一个四位整数:\n";
cin>>n;
a[0]=n/1000;
a[1]=n%1000/100;
a[2]=n%100/10;
a[3]=n%10;
for (int i=0; i<4; i++)
a[i]=(a[i]+8)%10;
m=a[0], a[0]=a[3], a[3]=m;
m=a[1], a[1]=a[2], a[2]=m;
int p=a[0]*1000+a[1]*100+a[2]*10+a[3];
cout<<p<<endl;
}
这是第1个题目的答案,经过编译、运行,完全正确。

#include<iostream>
using namespace std;

//因为对题目的理解有些歧义。“输入四位整数”是指一个四位的整数还是,4个一位的整数
int main()//一个四位的整数
{
cout<<\"Input the number(0<=n<=9999)\"<<endl;
int n;
int m=1000;
cin>>n;
int arr[4];
for(int i=0;i<4;i++)
{

arr[i]=(n/m+8)%10;
n=n-(n/m)*m;
m=m/10;
}
for(int j=3;j>=0;j--)
cout<<arr[j];
cout<<endl;

return 0;
}