嗨,我一直在教自己C ++一段时间,并一直在数组部分。我还没有完全理解数组(和嵌套for循环),非常感谢一些帮助
1)如何
const int ROWS = 5;
const int COLUMNS = 3;
for (int i = 0; i < ROWS; ++i)
{
for (int j = 0; j < COLUMNS; ++j)
cout << i << "," << j << " ";
cout << endl;
}
显示
0,0 0,1 0,2
1,0 1,1 1,2
2,0 2,1 2,2
3,0 3,1 3,2
4,0 4,1 4,2
在浏览代码的同时,它看起来它应该看起来更像
0,0 0,1 0,2 1,0 1,1 1,2 2,0 2,1 2,2 3,0 3,1 3,2 4,0 4,1 4,2
为什么在3组2?
之后自动创建一个新行?2)我不知道迭代器是什么。我已经在矢量文件名中使用了它们,但我仍然不知道它们是什么以及它们如何更改数据
3)这些'[]'在这段代码中做了什么?
const int ROWS = 3;
const int COLUMNS = 3;
char board[ROWS][COLUMNS] = { {'O', 'X', 'O'},
{' ', 'X', 'X'},
{'X', 'O', 'O'} };
cout << "Here's the Tic-Tac-Toe board:\n";
for (int i = 0; i < ROWS; ++i)
{
for (int j = 0; j < COLUMNS; ++j)
cout << board[i][j];
cout << endl;
}
更具体地说,是什么
[ROWS][COLUMNS]
为什么他们属于那些盒子。以及如何
cout << board[i][j]
输出tic tac toe board。
我意识到这是一个很多要求,但我不知道我现在在书中编程是什么,并且非常感谢帮助
答案 0 :(得分:0)
1)行“cout&lt;&lt; endl;”正在创建换行符。该行之前打印两个逗号分隔值i(这是第一个for循环的迭代)和j,第二个for循环的迭代。第二个循环是递增j直到j = COLUMNS(3)。因此,您将获得两个值的3个循环,然后是新行。然后由于第一个循环重复该过程,递增i直到它等于ROWS(5)。这就是你获得5行的原因。
2)在这种情况下,迭代器是i和j。它们是测量循环中位置的int变量,因为它们在每次循环操作时都会递增。
3)[]声明一个数组。例如
int myArray[3]
创建一个具有三个整数空间的数组。
char board[ROWS][COLUMNS]
正在创建多维数组。所以你有一个在一个维度上长度为ROWS的数组,以及一个在另一个维度上长度为COLUMNS的数组。
然后,在你的循环中
cout << board[i][j]
打印出数组第一维中位置i的值和第二维中的位置j。
答案 1 :(得分:0)
是的,当你提出太多问题是因为你真的需要更多的基础。 我有一个简单的提示,你正在启动C ++。观看网络上最优秀的编程老师的这个播放列表:
http://www.youtube.com/course?list=ECAE85DE8440AA6B83
阅读书籍也很重要,但只要观看他的视频并复制他所做的事情,你就可以获得很多简单的信息。他还解释了他所做的一切,所以你不要感到困惑。