栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++小作业-建立一个数组类ARR删除数组中的重复元素

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++小作业-建立一个数组类ARR删除数组中的重复元素

一、问题描述

【问题描述】有16个数:{1,2,2,3,4,4,5,6,6,7,8,8,8,9,10,10},已按由小到大的顺序排好,存于数组a中,试建立一个类ARR,完成将其中相同的数删得只剩一个。经删除后,a数组中的内容 为{1,2,3,4,5,6,7,8,9,10},具体要求如下:

    (1) 私有数据成员

    int n: 数组实际元素个数。

    int a[100]:存放原始数组及结果数组。

    (2) 公有成员函数

    ARR(int x[ ], int size):构造函数,用size初始化n,用x初始化a数组。

    void delsame():完成数组a中相同元素的删除工作。

    void show(): 将结果数组以每行10个数的形式输出到屏幕上。

    (3) 在主程序中定义数组int b[16],初值如上。定义一个类ARR的对象v,用b及数组元素的个数初始化该对象,然后按上述要求完成对该类的测试。

【输入形式】无
【输出形式】输出数组对象删除重复元素前和删除重复元素后的数据。

【样例输入】无
【样例输出】

删除前:

1    2    2    3    4    4    5    6    6    7

8    8    8    9   10   10

删除后:

1    2    3    4    5    6    7    8    9   10
二、代码实现
#include
using namespace std;
#include
class ARR
{
    private:
        int n;
        int a[100];
    public:
        ARR(int x[], int size)
        {
            n=size;
            for(int i=0;i
                a[i]=x[i];
            }

        }
        void delsame()
         {
             for(int i=0;i
                 for(int j=i+1;j
                     if(a[i]==a[j])
                     {
                         for(int k=j;k
                             a[k]=a[k+1];
                         }
                         --n;
                         --j;
                     }
                 }
             }
         }
         void show()
         {
             for(int i=0;i
                 
                    cout<
        int  b[]={1,2,2,3,4,4,5,6,6,7,8,8,8,9,10,10};  //先定义数组,  用此数组初始化类的对象中的数组成员
        int  n=sizeof(b)/sizeof(int);  //计算b数组的元素长度
        ARR    v(b,n);  //定义类的对象并用数组b和数据n初始化对象的成员
        cout<<"删除前:";
        v.show  ();    //输出对象的数组成员中的数据(还未做删除操作,  输出的是初始化后的数据)
        cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号