当前位置:首页 » 编程软件 » 编程题集合

编程题集合

发布时间: 2022-04-19 01:21:00

Ⅰ C++编程题,请求帮助。

#include<iostream>
#include<list>
using namespace std;
typedef list<int> INTLIST;
class Set
{
private:
list<int> mylist;
public:
Set()
{
}
void Add(int x)
{
mylist.push_back(x);
}
void Remove(int x)
{
mylist.remove(x);
}
void ListAll()
{
INTLIST::iterator iter;
int count = 0;
for(iter = mylist.begin(); iter != mylist.end(); iter++)
{
cout<<*iter<<" ";
count++;
if(count % 10 == 0)
cout<<endl;
}
cout<<endl;
}
friend Set operator * (Set &a, Set &b);
friend Set operator + (Set &a, Set &b);
friend Set operator - (Set &a, Set &b);
};
Set operator * (Set &a, Set &b)
{
Set temp;
INTLIST::iterator iter1;
INTLIST::iterator iter2;
for(iter1 = a.mylist.begin(); iter1 != a.mylist.end(); iter1++)
{
for(iter2 = b.mylist.begin(); iter2 != b.mylist.end(); iter2++)
{
if(*iter2 == *iter1)
temp.Add(*iter1);
}
}
return temp;
}
Set operator + (Set &a, Set &b)
{
Set temp;
INTLIST::iterator iter1;
INTLIST::iterator iter2;
for(iter1 = a.mylist.begin(); iter1 != a.mylist.end(); iter1++)
{
temp.Add(*iter1);
}
for(iter2 = b.mylist.begin(); iter2 != b.mylist.end(); iter2++)
{
for(iter1 = a.mylist.begin(); iter1 != a.mylist.end(); iter1++)
{
if(*iter1 == *iter2)
break;
}
if(iter1 == a.mylist.end())
temp.Add(*iter2);
}
return temp;
}
Set operator - (Set &a, Set &b)
{
Set temp;
INTLIST::iterator iter1;
INTLIST::iterator iter2;
for(iter1 = a.mylist.begin(); iter1 != a.mylist.end(); iter1++)
{
for(iter2 = b.mylist.begin(); iter2 != b.mylist.end(); iter2++)
{
if(*iter2 == *iter1)
break;
}
if(iter2 == b.mylist.end())
temp.Add(*iter1);
}
return temp;
}
void main()
{
Set set1;
Set set2;
for(int i = 0; i < 5; i++)
set1.Add(i+1);
for(int i = 2; i < 8; i++)
set2.Add(i+1);
Set set3 = set1 * set2;
Set set4 = set1 + set2;
Set set5 = set1 - set2;
Set set6 = set2 - set1;
cout<<"集合1中的元素有:";
set1.ListAll();
cout<<"集合2中的元素有:";
set2.ListAll();
cout<<"集合1与集合2的交集中的元素有:";
set3.ListAll();
cout<<"集合1与集合2的并集中的元素有:";
set4.ListAll();
cout<<"集合1与集合2的差集中的元素有:";
set5.ListAll();
cout<<"集合2与集合1的差集中的元素有:";
set6.ListAll();
}
VS2010下测试通过。望采纳~~~

python元组、字典、集合基本操作 编程题目

IEEE = ['python','c++','c','java','c#']
TIBOE = ['java','c','python','c++','vb.net']
1、(set(IEEE) | set(TIBOE) )
2、(set(IEEE) & set(TIBOE)
3、set(IEEE)
4、set(TIBOE)
5、(set(IEEE) | set(TIBOE) ) - (set(IEEE) & set(TIBOE))

Ⅲ C语言编程题,利用两个线性表LA和LB分别表示两个集合A和B,现要求一个集合A=A并B

利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A∪B。
void union(List &La,List Lb) {
La-len=listlength(La);
Lb-len=listlength(Lb);
for(I=1;I<=lb-len;I++) {
getelem(lb,I,e);
if(!locateelem(la,e,equal))listinsert(la,++la-en,e)
}
}

Ⅳ C++编程问题 有序集合

#include<stdio.h>
int main()
{
int a[100]={0},T,temp,i=0,j,k,n,flag;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(j=0;j<n;j++)
{
flag=1;
scanf("%d",&temp);
for(k=0;k<=i;k++)
if(a[k]==temp)
{flag=0; break;}
if(flag==1)
{
a[j]=temp;
i++;
}
}
for(j=0;j<n;j++)
for(i=0;i<n-j;i++)
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
for(j=0;j<n;j++)
printf("%d ",a[j]);
}
return 0;
}

Ⅳ 请教一道集合编程题

如果仅仅统计个数,很简单。

使用HashSet,将name,type,size合并为一个String,依次存入HashSet。由于HashSet不允许重复,所以完全相同的就不会存入HashSet。空的字段就使用“”好了。

最后,读取的记录数 - HashSet.length,就是完全相同的个数

Ⅵ 关于编程的题目

#include <iostream>
#include <string>
using namespace std;

template<class T>
class SeqList
{
private:
T *data;
int maxSize;
int last;
public:
SeqList(int sz=1):maxSize(sz),last(-1),data(NULL){data=new T[maxSize];}
~SeqList(){delete []data;}
int Length(){return last+1;}
int Find(T &x);
int Remove(T &x);
bool IsEmpty(){return last==-1;}
bool IsFull(){return last==maxSize-1;}
void reverse();
int Insert(T x,int i);
void print();
};

template<class T>
int SeqList<T>::Find(T &x)
{
int i=0;
while(i<=last&&data[i]!=x) i++;
if(i>last) return -1;
return i;
}

template<class T>
int SeqList<T>::Insert(T x,int i)
{
if (i<0||i>last+1||last==maxSize-1) return 0;
last++;
for (int j=last;j>i;j--) data[j]=data[j-1];
data[i]=x;
return 1;
}

template<class T>
int SeqList<T>::Remove(T &x)
{
int i=Find(x);
if(i>=0)
{
last--;
for (int j=i;j<=last;j++)
{
data[j]=data[j+1];
}
return 1;
}
return 0;
}

template<class T>
void SeqList<T>::reverse()
{

for (int i=0;i<(last+1)/2;i++)
{
T temp=data[i];
data[i]=data[last-i];
data[last-i]=temp;
}
}

template<class T>
void SeqList<T>::print()
{
for (int i=0;i<=last;i++)
{
cout<<data[i]<<' ';
}
cout<<endl;
}

int main()
{
do
{
int sz=0,pos=0;
cin>>sz;
if(sz==0) break;
string data;
cin>>data;
int i;
for(i=0;i<data.length();i++)
if(isalpha(data[i])) break;
if(i==data.length())
{
SeqList<float> sl(sz);
sl.Insert(atof(data.c_str()),pos++);
for (int j=pos;j<sz;j++)
{
cin>>data;
sl.Insert(atof(data.c_str()),pos++);
}
float x; cin>>x;
sl.reverse();
sl.print();
sl.Remove(x);
sl.print();

}
else
{
SeqList<string> sl(sz);
sl.Insert(data,pos++);
for (int j=pos;j<sz;j++)
{
cin>>data;
sl.Insert(data,pos++);
}
string x;cin>>x;
sl.reverse();
sl.print();
sl.Remove(x);
sl.print();
}

} while (1);
return 0;
}

Ⅶ Java 编程基础题:io流和集合综合相关的题目不会做,哪位大神来看一下

此需求的关键点主要是两个:

1、IO读取文本信息;

2、TreeSet的排序问题。

解决过程如下:

首先通过TreeSet(Comparator<? super E>comparator) 构造方法指定TreeSet的比较器进行排序,而创建自己的实现比较器。

packagetest.treeset;
importjava.util.Comparator;
<Student>{
@Override
publicintcompare(Studentstu1,Studentstu2){
if(stu1.getScore()>stu2.getScore()){
return-1;
}elseif(stu1.getScore()==stu2.getScore()){
if(stu1.getAge()>stu2.getAge()){
return-1;
}elseif(stu1.getAge()==stu2.getAge()){
return0;
}else{
return1;
}
}else{
return1;
}
}
}

创建学生Bean类

packagetest.treeset;
importjava.io.Serializable;
{
privateStringname;
privateintage;
privateintscore;
publicStudent(Stringname,intage,intscore){
this.name=name;
this.age=age;
this.score=score;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicintgetScore(){
returnscore;
}
publicvoidsetScore(intscore){
this.score=score;
}
@Override
publicStringtoString(){
returnname+"-"+age+"-"+score;
}
}

创建实现类,实现对文件的读取已经将读取内容实例化入Student中,添加入TreeSet中排序,之后顺序打印TreeSet数据。

packagetest.treeset;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.UnsupportedEncodingException;
importjava.util.TreeSet;
/**
*已知项目根目录下student_info.txt文件中有如下数据:(姓名-年龄-总分)
*lucy-28-98
*lily-23-97
*robt-25-100
*wili-15-100
*klin-29-93搜索
*运用IO技术获取将该文件中的数据分别封装成5个Student(姓名为String类型,年龄为int类型,总分为int类型)对象存入TreeSet集合中(需要自己定义Student类)
*要求:
*根据学生的总分进行排序(降序),如果分数相同则比较年龄,年龄较大的排在前面。
*按照排序完的顺序将所有信息打印到控制台上:
*打印格式如下:
*robt-25-100
*wili-15-100
*lucy-28-98
*lily-23-97
*klin-29-93
*/
publicclassIoReadTest{
publicstaticvoidmain(String[]args){
TreeSet<Student>set=newTreeSet<Student>(newMyComparator());
try{
FileInputStreamfis=newFileInputStream(newFile("D:\student_info.txt"));
InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");
BufferedReaderbr=newBufferedReader(isr);
Stringstr="";
while((str=br.readLine())!=null){
String[]info=str.split("-");
Stringname=info[0];
intage=Integer.parseInt(info[1]);
intscore=Integer.parseInt(info[2]);
Studentstudent=newStudent(name,age,score);
set.add(student);
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
for(Studentstudent:set){
System.out.println(student);
}
}
}

运行后输出结果

robt-25-100
wili-15-100
lucy-28-98
lily-23-97
klin-29-93

Ⅷ C语言编程 集合子集问题

#include<iostream>
#include<string>
#include<fstream>
#include<conio.h>
usingnamespacestd;
//定义集合的最大数量,可以自己修改
#defineMAX_COUNT100
//集合使用数组来保存
intSetA[MAX_COUNT];
intSetB[MAX_COUNT];
intCountA=0;//集合A的长度
intCountB=0;//集合B的长度
///函数Contains,判定集合是否包含一个数
///@paramset,集合
///@paramcount,集合Set中的元素个数
///@paramvalue,是否包含的值
///@returnset包含value,返回true,否则返回false
boolContains(intset[],intcount,intvalue)
{
for(inti=0;i<count;i++)
if(value==set[i])
returntrue;
returnfalse;
}
//输入一个集合
voidInputSet(intset[],int&count)
{
strings;
//读取这一行
getline(cin,s);
inti=0;
while(i<s.length())
{
intspacePos=0;
spacePos=s.find('',i);//查找空格下一个空格的位置
if(spacePos<0||spacePos>=s.length()-1)//如果没有空格或者空格超出了字符串范围,跳出循环
break;
stringtemp=s.substr(i,spacePos-i);
if(temp=="")//如果字符串为空,执行下一条
continue;
intvalue=stoi(temp);
if(!Contains(set,count,value))//如果集合中已经包含此数字了,就不再添加
set[count++]=value;
i=spacePos+1;
}
//读取最后一个数
stringtemp=s.substr(i,s.length()-i);
intvalue=stoi(temp);
if(!Contains(set,count,value))
set[count++]=value;
}
//判断是为setB是否为setA的子集
boolIsSubSet(intsetA[],intcountA,intsetB[],intcountB)
{
for(inti=0;i<countB;i++)
if(!Contains(setA,countA,setB[i]))
returnfalse;
returntrue;
}
voidmain()
{
cout<<"注意:只能输入整数,并且数字之间以空格隔开。"<<endl<<endl;
cout<<"请输入集合A:"<<endl;
InputSet(SetA,CountA);
cout<<"请输入集合B:"<<endl;
InputSet(SetB,CountB);
cout<<endl;
cout<<"集合A和集合B比较结果"<<endl;
if(IsSubSet(SetA,CountA,SetB,CountB))
cout<<"集合B是集合A的子集"<<endl;
else
cout<<"集合B不是集合A的子集"<<endl;
cout<<endl;
cout<<"按任意键退出"<<endl;
getch();
}

热点内容
内塔尼亚胡访问沙特 发布:2025-03-20 11:08:43 浏览:622
Android传输视频 发布:2025-03-20 11:06:34 浏览:149
java软件免费下载 发布:2025-03-20 10:26:01 浏览:705
安卓用什么编译 发布:2025-03-20 10:25:57 浏览:808
ftp中文软件下载 发布:2025-03-20 10:07:47 浏览:508
nexus7android 发布:2025-03-20 10:06:58 浏览:619
安舍iq8如何修改密码 发布:2025-03-20 10:06:17 浏览:880
解压RTP 发布:2025-03-20 09:59:37 浏览:161
python量化分析 发布:2025-03-20 09:53:05 浏览:626
手机热点有限的访问权限 发布:2025-03-20 09:50:46 浏览:440