首页 > 其他分享 >2023年5月13日

2023年5月13日

时间:2023-05-13 23:11:14浏览次数:47  
标签:13 int MyArray pC pF 2023 data size

实现一个类模板,它可以接受一组数据,能对数据排序,也能输出数组的内容。

每行输入的第一个数字为0,1,2或3:为0时表示输入结束; 为1时表示将输入整数,为2时表示将输入有一位小数的浮点数,为3时表示输入字符。

如果第一个数字非0,则接下来将输入一个正整数,表示即将输入的数据的数量。

从每行第三个输入开始,依次输入指定类型的数据。

类模板:

template <class T>

class MyArray

 

#include <iostream>
using namespace std;

template<class T>
class MyArray{
private:
T *data;
int size;

public:
MyArray(int s);
~MyArray();
void sort();
void display();
bool check();
};

template<class T>
MyArray<T>::MyArray(int s){
size = s;
data = new T[size];
for(int i=0;i<size;i++)
cin>>data[i];
}

template<class T>
void MyArray<T>::display(){
for(int i=0;i<size;i++){
cout<<data[i];
if(i<size-1)
cout<<" ";
}
cout<<endl;
}
template<class T>
void MyArray<T>::sort(){
for(int i=0;i<size-1;i++)
for(int j=0;j<size-i-1;j++)
if(data[j]>data[j+1]){
T temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}

template<class T>
MyArray<T>::~MyArray(){ delete[] data;}

template<class T>
bool MyArray<T>::check(){
int i;
for(i=0;i<size-1;i++)
if(data[i]>data[i+1]) { cout<<"ERROR!"<<endl;return false;}
return true;
}
int main( )
{
MyArray<int> *pI;
MyArray<float> *pF;
MyArray<char> *pC;
int ty, size;
cin>>ty;
while(ty>0){
cin>>size;
switch(ty){
case 1: pI = new MyArray<int>(size); pI->sort(); pI->check(); pI->display(); delete pI; break;
case 2: pF = new MyArray<float>(size); pF->sort(); pF->check(); pF->display(); delete pF; break;
case 3: pC = new MyArray<char>(size); pC->sort(); pC->check(); pC->display(); delete pC; break;
}
cin>>ty;
}
return 0;
}

 

标签:13,int,MyArray,pC,pF,2023,data,size
From: https://www.cnblogs.com/liushuosbkd2003/p/17398469.html

相关文章

  • 2023 5 13
    #include<iostream>#include<iomanip>#include<bitset>usingnamespacestd;intmain(){doublen=3.1415926;#include<iostream>#include<iomanip>usingnamespacestd;intmain(){intn;cin>>n;......
  • 编程一小时2023.5.13
    1.#include<bits/stdc++.h>usingnamespacestd;intn,x,ans=0,sum=0,a[1001],b[1001];intmain(){memset(a,0,sizeof(a));memset(b,0,sizeof(b));n=10;for(inti=1;i<=n;i++){cin>>x;if(x%2!=0)a[++ans]=x;elseb[+......
  • 5.13
    #include<iostream>#include<string>usingnamespacestd;classDocument{public:   Document(){   }   Document(char*nm);   char*name;   voidPrintNameOf();};Document::Document(char*nm){   name=newchar[strlen(nm)+1];......
  • 【题解】Luogu[P1967] NOIP2013 提高组 货车运输
    Link→很容易想到一个暴力做法,就是跑一遍Floyd,\(F_{i,j}\)表示\(i\)到\(j\)最大载重量,转移\(F_{i,j}=\max\{F_{i,j},\min\{F_{i,k},F_{k,j}\}\}\)。显然时间复杂度\(O(n^3)\)是过不了的。我们发现,因为是求两点路径中使得最小值最大,实际上有一些较小的路径是不会走......
  • 2023/5/13每日随笔
      今天,周六,没有休息,写了一下午计算机网络,学习了运输层的协议的特点,进程之间的通信,端口,介绍了UDP,TCP协议,UDP首部,UDP复用和分用,TCP协议的特点,TCP连接,停止等待工作原理,TCP首部格式窗口,拥塞窗口,等等。......
  • 2023-5-13 #54 我们的歌谣仍会重构初见梦想的瞬息
    THUSC乱打了一通,我怎么这么菜。这篇存草稿忘发了,现在发一下。352PKUSC2023D1T2容易发现合法的条件即不存在民的被覆盖集合与狼相同,于是枚举与狼覆盖集合相同的子集容斥,注意到我们只关心这个子集大小的奇偶性,以及要么包含所有元素,要么不包含任意元素的区间数量。枚举未选择......
  • 11-13
    4.111.创建角色r2,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限 2.将这个角色授予u1u2u3。使他们具有角色R1所包含的全部权限3.一次性通过R1来回收王平的这3个权限  4.12使角色R2在原来的基础上增加student表中delete权限 4.13使r2减少select权限 ......
  • 【愚公系列】2023年05月 .NET CORE工具案例-Workflow-Core轻量级工作流引擎(随机流程)
    (文章目录)前言1.什么是工作流工作流是OA系统比较重要的功能之一,主要在于企业流程协同审批,有效进行流程管理。流程管理起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序的活动提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来......
  • 每日总结 5.13
    今日主要进行代码优化处理。<divclass="bigcontent"><!--muted:视频内容静音--><%Stringadv="";Connectionc=Tool.getConnection();PreparedStatementpre=null;ResultSet......
  • 2023-05 多校联合训练 ZJNU站 热身赛
    猫猫接币币给定两个容量分别为a和b的盒子,已知第i秒天上会掉下i个金币,你会从第1秒开始接金币,每秒钟你可以选择任意一个盒子接金币,但是不能不选,你必须使得两个盒子刚好装满,请问是否存在某个时刻,使得恰好装满两个盒子,输出一个仅由A和B组成的字符串,第\(i\)位的字符即表示第\(i\)......