开发者社区> 问答> 正文

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:49 659 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

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