我想用C++编写一个宾果板,但我做的事情非常错误。我不知道是什么,但是无论什么原因,当我初始化行数和列数时,并且为了实现这个结构而创建的数组上做了一个嵌套的for循环,我得到了超过一百行和三十行+列,当我应该得到一个五,五个董事会。我也试图为我的rand函数指定最大值和最小值,但似乎没有办法做到这一点。因此,如何在不放弃解决方案的情况下完成这一任务是最好的方法?我提到最后一点的原因是我可以学习如何做到这一点。需要一个简单的,C++宾果板的优雅解决方案
这里是我的代码:
#ifndef BOARD_H
#define BOARD_H
#include <cstdlib>
#include <time.h>
#include <stdio.h>
class Board
{
public:
Board(unsigned int numberOfRows, unsigned int numberOfColumns, unsigned int seed, unsigned int max, unsigned int min);
void generate();
void setSeedValue(int seed);
private:
unsigned int m_rows[];
unsigned int m_columns[];
unsigned int m_max, m_min;
};
#endif // BOARD_H
Board::Board(unsigned int numberOfRows, unsigned int numberOfColumns, unsigned int seed, unsigned int max, unsigned int min)
{
this->m_rows[numberOfRows];
this->m_columns[numberOfColumns];
srand(seed);
this->m_max = max;
this->m_min = min;
printf("%d\n", size_t(m_rows));
printf("%d\n", size_t(m_columns));
}
void Board::generate()
{
for (int i = 0; i < size_t(m_rows); i++)
{
for(int j = 0; j < size_t(m_columns); j++)
{
this->m_columns[j] = (rand() % 10) + j;
std::cout << this->m_columns[j];
}
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Board * board = new Board(5, 5, time(NULL), 100, 1);
board->generate();
delete board;
return a.exec();
}
“Board'的构造函数在哪里定义? – quasiverse
已更新。现在已添加构造定义。 – zeboidlund
这是怎么编译出来的呢? – Mahesh