开发者社区> 问答> 正文

C++合并排序检查,查看列表中是否有数字

我有一个合并排序程序,我想把它变成一个彩票游戏,让用户选择一个号码,然后检查这个号码是否在列表中,以及他们是否中奖。但是,我找不到任何有用的信息,如何检查列表中的某个数字,请一些人向我解释一下,我会怎么做呢?

这是代码

//System Libraries
#include <cstdlib>  //Random Function
#include <iostream> //I/O
#include <ctime>    //Set the seed
using namespace std;


//Function Prototypes
int *fillAry(int);
void prntAry(int *,int,int);
void mergeSrt(int *,int);

//Execution Begins 
int main(int argc, char** argv) {
    //Set random number seed here
    srand(static_cast<unsigned int>(time(0)));

    //Declare Variables
    int *array;
    int size=100;
    int perLine=20;

    //Initialize/Input Data/Variables
    array=fillAry(size);

    //Display output
    prntAry(array,size,perLine);

    //Sort
    mergeSrt(array,size);

    //Display output
    prntAry(array,size,perLine);

    //Clean up dynamic memory
    delete []array;

    //Exit program
    return 0;
}

void mergeSrt(int *a,int n){
    for(int i=0;i<n-1;i++){//Find Smallest for each list
        for(int j=i+1;j<n;j++){//Examine each element below top of list
            //Swap
            if(a[i]>a[j]){
                a[i]=a[i]^a[j];
                a[j]=a[i]^a[j];
                a[i]=a[i]^a[j];

            }
        }
    }
}

void prntAry(int *a,int n,int perLine){
    cout<<endl;
    for(int i=0;i<n;i++){
        cout<<a[i]<<" ";
        if(i%perLine==(perLine-1))cout<<endl;
    }
    cout<<endl;
}

int *fillAry(int n){
    int *array=new int[n];
    for(int i=0;i<n;i++){
        array[i]=rand()%900+1;
    }
    return array;
}

展开
收起
aqal5zs3gkqgc 2019-12-09 09:51:29 1662 0
1 条回答
写回答
取消 提交回答
  • 判断是否包含数字,可以考虑set结构 https://blog.csdn.net/reigns_/article/details/88343449

    2019-12-13 15:12:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载