我想用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