C++编译器只显示数字,不显示正确的输出

C++ Compiler shows just numbers, not the right output

本文关键字:显示 输出 编译器 数字 C++      更新时间:2023-10-16

我是C++的初学者。

它应该给我一个随机的"森林",有 20 行和 30 列,有树 (X( 和空白。因为树应该站立一个X,没有树应该站立一个空白空间。

编译器只是给我随机数,如888888888888....或其他数字..我不知道为什么。

这是我的代码:

void printForest();
int Forest [20][30];
int main (void)
{
int tree, line, column;
srand(time(NULL));
for (line = 0 ; line < 20; line++)
for (column = 0; column < 30; column++)
{
tree = rand() % 100 + 1 ;
if (tree > 0.6 * 100)
tree[line][column] = ' '; 
else
tree[line][column] = 'X';       
}
cout << tree [20][30] << endl;
}
printforest();
cin.get();
return 0;
}
void printforest()
{
int line, column;
for (line = 0 ; line < 20; line++)
{
for (column = 0; column < 30; column++)
{
cout << forest[line][column];
}
}   
}

好吧,慈善,这个代码有点疯狂。我已经清理了一下,关键的变化是用Forest替换所有出现的Wald,并将数组访问更改为 main 中的访问Forest。代码生成一个字符表printForest逐行打印出表,我希望这就是你之后:)

#include <iostream>
void printForest();
static const int maxRows = 20;
static const int maxColumns = 30;
char Forest [maxRows][maxColumns];
int main ()
{
int tree, line, column;
srand(time(NULL));
for (line = 0 ; line < maxRows; line++)
{
for (column = 0; column < maxColumns; column++)
{
tree = rand() % 100 + 1;
if (tree > 0.6 * 100)
Forest[line][column] = ' '; 
else
Forest[line][column] = 'X';       
}
}
printForest();
std::cin.get();
return 0;
}
void printForest()
{
int line, column;
for (line = 0 ; line < maxRows; line++)
{
for (column = 0; column < maxColumns; column++)
{
std::cout << Forest[line][column];
}
std::cout << std::endl;
}   
}