【发布时间】:2011-09-24 04:27:26
【问题描述】:
我正在尝试用 C++ 编写 Bingo Board,但我做错了。我不确定是什么,但无论出于何种原因,当我初始化行数和列数并在我创建的数组上执行嵌套 for 循环以实现此结构时,我得到的结果似乎超过 100 行和 30 + 专栏,当我应该得到一个五个,由五个板。我也在尝试为我的 rand 函数指定最大值和最小值,但似乎没有办法做到这一点。因此,在不放弃解决方案的情况下实现这一目标的最佳方法是什么?我之所以提到最后一点,是为了让我可以学习如何做到这一点,哈哈。
这是我的代码:
#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的构造函数在哪里定义? -
已更新。现已添加构造定义。
-
这是怎么编译的?
-
它没有。除了我正在解决的问题之外,还有其他问题,尽管大多数问题已经得到解决。
标签: c++ arrays memory-management