2013-11-25 43 views
0

所以我正在研究“生活游戏”,我试图从​​显示我的结果,然后骑上这些结果并显示它们以代替最后的结果。例如:更新(覆盖)并显示功能

00000 
00000 
00000 

00100 
00100 
00100 

每一个新的结果需要显示它取代了旧的结果及时更换。我的问题是,结果只显示一个接一个像这样

00000 
00000 
00000 
00100 
00100 
00100 
00000 
01110 
00000 

我用这个来显示​​阵列的结果试过了,但它只是输出所有0。这里还有一个链接到我正在使用的所有代码。 http://ideone.com/QG4tsS

for (int i=0;i<XXX;i++) { 
     for (int j=0;j<YYY;j++) { 
       currentGen[i][j] += currentGen[i][j]; 
       cout << currentGen[i][j] << " "; 
     } 
     cout << endl; 
    } 
+0

没有便捷的方法来清除屏幕或在输出中返回几行,以覆盖以前的输出。 – RichardPlunkett

回答

0

如果你在Windows工作,你的输出之前调用system("cls"),应该做你所需要的。如果您使用Linux,请致电system("clear")

请注意,为了使用这些功能,您需要#include <stdlib.h>(或大多数Windows IDE下的<iostream>)。

0

一个棘手的方法是使用超过25个NewLine(endl)手动清除屏幕,然后再打印数据。

+0

人们可以设置命令行的不同大小(按行),然后这种方法将不起作用。 –