C++数组数据处理对象实训实验.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:3 大小:44KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

C++数组数据处理对象实训实验.doc

C++数组数据处理对象实训实验.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

【实验名称】C++实验(四)数组数据处理对象实训【实验题目和要求】设计一个最多可以存放100个整数的类,要求这些整数按照从小到大的顺序存放在类中的数组里,可以删除数组中的数据,也可以向数组中插入数据,但是要保持从小到大的顺序,可以求出数据的多少,可以判断数组的空和满,可以显示数组中的整数。当然刚生成对象时,对象中的数组没有数据,只有一个一个地向对象中插入数据。设计主程序先生成一个对象,然后插入100个随机数,最后显示结果。考察若生成101或110个数,结果会怎样?再设计主程序先生成一个对象,然后插入数据{34,48,25,45,74,26,68,37,48,95,21,35,19,73,58},接着删除{48,37,35},再插入{46,18},最后显示对象中的所有数据。【源程序】#include<iostream.h>#include<stdlib.h>#include<stdio.h>#include<time.h>#definemax100classdata{inta[max];intlast;public:data(){last=0;}intinset(int);intDelete(int);intisempty(){if(last==0)return1;elsereturn0;}intisfull(){if(last==max)return1;elsereturn0;}voiddisplay(inti){cout<<"a[i]="<<a[i]<<endl;}voiddisplay();~data(){};};intdata::inset(intx){if(isfull())return0;inti=0;while(i<last){if(x<a[i])break;elsei++;}intj=last;while(j>i){a[j]=a[j-1];j--;}last++;a[i]=x;return1;}intdata::Delete(intx){if(isempty())return0;inti=0;while(i<last){if(a[i]==x)break;elsei++;}if(i>=last)return0;for(intj=i;j<last-1;j++)a[j]=a[j+1];last--;return1;}voiddata::display(){intj=0;for(inti=0;i<last;i++){cout<<'\t'<<a[i];j++;if(j==8){cout<<endl;j=0;}}cout<<endl;}voidmain(){dataobj;srand((unsigned)time(NULL));for(inti=0;i<100;i++)obj.inset(rand());obj.display();}voidmain(){dataobj;obj.inset(34);obj.inset(48);obj.inset(25);obj.inset(45);obj.inset(74);obj.inset(26);obj.inset(68);obj.inset(37);obj.inset(48);obj.inset(95);obj.inset(21);obj.inset(35);obj.inset(19);obj.inset(73);obj.inset(58);obj.display();cout<<"删除48,37,35得:"<<endl;obj.Delete(48);obj.Delete(37);obj.Delete(35);obj.display();cout<<"添加46,18得:"<<endl;obj.inset(46);obj.inset(18);obj.display();}【实验结果】插入100个随机数:插入数据{34,48,25,45,74,26,68,37,48,95,21,35,19,73,58},接着删除{48,37,35},再插入{46,18},结果显示为: