zoukankan      html  css  js  c++  java
  • 08-软件需求分析: 课堂练习(找水王)

    遍历数组,每一个和下一个比较,若相同id 消除上1个

    代码如下:

    #include<iostream>
    using namespace std;
    #define MAXSIZE 100
    
    typedef struct
    {
        int *base;
        int *top;
        int stacksize;
    }SqStack;
    
    int InitStack(SqStack &S)
    {
        S.base=new int[MAXSIZE];
        if(!S.base)
            exit(OVERFLOW);
        S.top=S.base;
        S.stacksize=MAXSIZE;
        return 0;
    }
    
    
    int main()
    {
        int ID[MAXSIZE],k=0,n;
        cout<<"输入数组元素:"<<endl;
        for(int j=0;;j++)
        {    
            cin>>n;
            if(n==-1)
                break;
        
            ID[j]=n;
            k++;
        }
        int e;
        SqStack S;
        InitStack(S);
        k=k-1;
        for(int i=0;i<k;i++)
        {
            
            if(S.top==S.base)
            {
                *S.top++=ID[i];
            }
            int num=*(S.top-1);
            if(num!=ID[i+1]&&i<k-1)
            {
                e=*--S.top;
                i++;
            }
            else
            {
            *S.top++=ID[i+1];
            }
            if(i==k-2)
            {
                num=*(S.top-1);
                cout<<"出现最多次数的元素:"<<endl;
                cout<<num<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    哲学家进餐
    文件系统
    文件读写原理(转)
    数据库join种类
    http与https区别
    数字证书(转)
    B. Rebranding
    扩展欧几里德算法、证明及其应用
    CodeForces 7C Line
    UVALive 7147 World Cup
  • 原文地址:https://www.cnblogs.com/wwd1505-1/p/6805378.html
Copyright © 2011-2022 走看看