- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
康威的游戏。尝试访问我从文件中读取的每个“单元”的所有邻居。
如果一个单元还活着,那么如果它恰好有两个或三个邻居,它会为下一代保持生命。
如果一个单元已死,那么如果它恰好具有三个邻居,那么它会为下一代存活。
在这两种情况下,E都有8个邻居。
我对下一代的收入有疑问:
......... F......DE
...ABC... I......GH
...DEF... .........
...GHI... .........
......... C......AB
文件读入currentgen,字符串 vector
//find neighbors
for (size_t i=0; i < currentgen.size(); i++){
for(size_t j = 0; j < currentgen[0].length(); j++){
//neighbor count
int neighborcount = 0;
//south neighbor
if(currentgen[(i+1) % currentgen.size()][j] == 'O'){
neighborcount++;
}
//north
if(currentgen[(i-1) % currentgen.size()][j] == 'O'){
neighborcount++;
}
//left
if(currentgen[i][(j-1) % currentgen[i].length()] == 'O'){
neighborcount++;
}
//right
if(currentgen[i][(j+1) % currentgen[i].length()] == 'O'){
neighborcount++;
}
//south right
if(currentgen[(i+1) % currentgen.size()]
[(j+1) % currentgen[i].length()] == 'O'){
neighborcount++;
}
//south left
if(currentgen[(i+1) % currentgen.size()]
[(j-1) % currentgen[i].length()] == 'O'){
neighborcount++;
}
//north right
if(currentgen[(i-1) % currentgen.size()]
[(j+1) % currentgen[i].length()] == 'O'){
neighborcount++;
}
//north left
if(currentgen[(i-1) % currentgen.size()]
[(j-1) % currentgen[i].length()] == 'O'){
neighborcount++;
}
//if cell is alive
if(currentgen[i][j] == 'O'){
nextgen[i][j] = '.';
if(neighborcount == 2){
nextgen[i][j]= 'O';
}
if(neighborcount == 3){
nextgen[i][j]= 'O';
}
}
//if cell is dead
if(currentgen[i][j] == '.'){
if(neighborcount == 3){
nextgen[i][j]= 'O';
}
}
最佳答案
代码的问题在于您所依赖的%
具有剩余部分的通常含义。但是,在c++中,对负值执行%
将使您的余数接近0。
所以下面的表达式是:
-1 % 5 // -1 not 4
为了正确处理余数,可以将您使用的值添加为模数,然后确保您有一个正数,并且计算将起作用:
(-1 + 5) % 5 // 4 yay!!
if
条件都非常冗长。您可以将其简化为:
for (size_t i=0; i < currentgen.size(); i++) {
for(size_t j = 0; j < currentgen[0].length(); j++) {
//neighbor count
int neighborcount = 0;
for (int i_offset : {-1, 0, 1})
for (int j_offset : {-1, 0, 1})
if (i && j && currentgen[(i + i_offset + currentgen.size())
% currentgen.size()]
[(j + j_offset + currentgen[i].size())
% currentgen[i].size()] == 'O')
neighborcount++;
//if cell is alive
// ... etc
关于c++ - 如何检查字符串 vector 中字符的所有邻居,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64069306/
我从 SpatialPolygonsDataFrame 开始,它包含用于创建加纳各地区 map 的数据(可在 http://www.diva-gis.org/datadown 获取)。我正在尝试创建一
我遇到了一个问题,我需要根据存储在前一个元素中的信息修改容器的元素。示例: 如果前一个 vector 元素可被 2 整除,则将当前元素乘以 10 vector -> [12, 11, 33, 10]
总的来说,我对脚本编写还很陌生。我正在编写一个 expect 脚本,它通过 ssh 进入 Cisco 交换机,并运行“show cdp neighbors”命令来获取连接到交换机的所有设备的列表。然后
我正在尝试比较节点的值。使用 flood-fill 算法,我能够垂直和水平检查网格的每个节点。现在我必须更新我的代码以检查位于对 Angular 线上的单元格,如下图所示: 红色是当前节点,黄色是需要
我使用预先计算的指标使用 Scikit-Learn 的最近邻/半径分类。这意味着,我将成对距离的 n_samples_train x n_samples_train 矩阵传递给分类器的拟合方法。 现在
我有一个大的稀疏图,我将其表示为邻接矩阵(100k x 100k 或更大),存储为边数组。具有(非稀疏)4 x 4 矩阵的示例: 0 7 4 0 example_array = [ [7,1,2],
从有向图中并给出两个顶点 (v, u) 我需要找到:共同的“出”邻居和共同的“入”邻居。 例如: import networkx as nx ghybrid = nx.DiGraph() ghybri
我正在使用 JavaScript 进行图像处理,我想知道是否有任何通用公式可以确定像素的 x 邻居。 我知道对于 3*3 的正方形,可以使用特定的 x 和 y 像素确定 8 个邻居。 (x-1,y-1
在 CentOS 6.4(内核 2.6.32)上,为什么下面的第二个 arping 调用会创建一个新的 ARP 表条目,而第一个不会?网络行为是相同的,我感到困惑的是,在我看来,系统调用实际上是等同的
我是一名优秀的程序员,十分优秀!