zoukankan      html  css  js  c++  java
  • 训练1:删除序列中相同的数

    题目要求:

      有16个数{1,2,2,3,4,4,5,6,6,7,8,8,8,9,10,10},已经按由大到小顺序排好,存储在数组a中

      试建立一个类ARR,完成删除数组中相同的数,经过删除后,数组中的内容为{1,2,3,4,5,6,7,8,9,10}.

    #include<iostream>
    #include<iomanip>
    using namespace std;
    
    class ARR
    {
            public:
                    void ARR_delete();
                    ARR();//构造函数的声明不能用void
                    void ARR_show();
            private:
                    int a[16];
    
    
    };
    
    ARR::ARR()//不能是void ARR::ARR()
    {
            int i;
            for(i = 0;i<16;i++)
            {
                    cin>> a[i];
            }
    }
    
    void ARR::ARR_delete()
    {
            int i,j,temp;
            temp = a[0];
            for(j = 0;j<15;j++)
            {
                    temp = a[j];
                    for(i = j+1 ;i<16;i++)
                    {
                            if(temp == a[i])
                            {
                                    a[i]= 0;//这种消除法是比较损耗内存的
                            }
                    }
            }
    }
    
    void ARR::ARR_show()
    {
            int i,j;
            for(i= 0;i<16;i++)
            {
                    if(a[i] !=0)
                            cout <<setw(6)<< a[i];
    
            }
    }
    
    int main()
    {
            ARR ARR_test;//定义一个对象;
            ARR_test.ARR_delete();
            ARR_test.ARR_show();
    
            return 0;
    }
                                                                                                                                         

    总结编写的时候出现的bug

    15行出现了返回值什么:错误是因为声明构造函数是void ARR();其实只是ARR就可一了

    40行那个也是一样,void ARR::ARR(),其实只需要ARR::ARR();

    函数改进的方法:

    int main()
    {
            /*ARR ARR_test;//定义一个对象;
            ARR_test.ARR_delete();
            ARR_test.ARR_show();*/
    
            ARR *pt = new ARR;
            pt->ARR_delete();
            pt->ARR_show();
            delete pt;        
    
            return 0;
    }
  • 相关阅读:
    http数据返回值
    刷新 返回
    微信平台上遇到的bug
    iscroll修改
    iscroll
    a标签的herf和click事件
    ios9+xcode7 适配笔记
    xsd、wsdl生成C#类的命令行工具使用方法
    xcode更新,想想也是醉了
    关于#define预处理指令的一个问题
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3890389.html
Copyright © 2011-2022 走看看