匹配的号码在2阵列C ++ [英] Matching Numbers in 2 arrays c++

查看:89
本文介绍了匹配的号码在2阵列C ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在写其目的是数字2阵列和输出匹配,有数量比较的程序。

I'm writing a program which is intended to compare the numbers in 2 arrays and output the number of matches that there are.

RandomNumber.h

#pragma once
#include <iostream>
#include <cstdlib>
#include <ctime>


class RandomNumber
{
public:
    void randomNumber();
    int actualRandomNumber;
};

RandomNumber.cpp

#include "RandomNumberGenerator.h"

void RandomNumber::randomNumber()
{
    actualRandomNumber = rand() % 66 + 1;
}

Game.h

#include "RandomNumberGenerator.h"


class Game
{
private:

    int randomNumbers[6];

public:

    void generateRandomNumbers();
    void compareNumbers2();

};

Game.cpp

void Game::generateRandomNumbers()
{
    RandomNumber create;

    for (int i = 0; i < 6; i++)
    {
        create.randomNumber();
        randomNumbers[i] = create.actualRandomNumber;   
    }

    for (int i = 0; i < 6; i++)
    {
        std::cout << randomNumbers[i] << "   ";
    }
}

void Game::compareNumbers2()
{
    int k = 0;

    for (int i = 0; i < 6; ++i)
    {
        for (int j = 0; j < 6; ++j)
        {
            if (randomNumbers[i] == randomNumbers[j])
            {
                k++;
            }
        }
    }

    if (k > 0)
    {
        std::cout << "Congratulations you matched: " << k << " number(s)";
    }

    if (k == 0)
    {
        std::cout << "Unfortunatly you matched: " << k << " numbers";
    }
}

Main.cpp的

#include "Game.h"
#include "RandomNumberGenerator.h"

int main()
{
    Game play;

    srand (time(NULL));

    play.generateRandomNumbers(); 
    std::cout << std::endl << std::endl;

    play.generateRandomNumbers();
    std::cout << std::endl << std::endl;

    play.compareNumbers2(); 

    system("pause");
    return 0;
}

我遇到的问题不是在创建阵列和填充他们,我得到2套不同的随机数两个充满阵列,但由于某些原因,比较它们匹配的数量时,它告诉我,我有被总是约6或8时,我实际上很少有,如果多于一个或两个

The problem I'm having isn't in creating the arrays and filling them, I get two filled arrays with 2 different sets of random numbers, but for some reason when comparing them the number of matches it tells me I have is always about 6 or 8 when I in fact rarely have more than one or two if that.

推荐答案

最明显的问题是,你只能有一个数组。

The most obvious problem is that you only have one array.

class Game
{
    ...
    int randomNumbers[6];

你在哪里想到第二个数组是?

Where did you think the second array was?

这篇关于匹配的号码在2阵列C ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆