2014-10-10 100 views
-2

我有个问题要问。我怎样才能打印每行ARRAY的10个元素。C++打印每行10个元素

例如:

88 11 88 11 88 11 88 11 88 11 
11 88 11 88 11 88 11 88 11 88 
88 11 88 11 88 11 88 11 88 11 
11 88 11 88 11 88 11 88 11 88 
88 11 88 11 88 11 88 11 88 11 
11 88 11 88 11 88 11 88 11 88 
88 11 88 11 88 11 88 11 88 11 
11 88 11 88 11 88 11 88 11 88 
88 11 88 11 88 11 88 11 88 11 
11 88 11 88 11 88 11 88 11 88 

这里是我当前的代码:

int main() 
{ 
    int test[ARRAY_SIZE][ARRAY_SIZE]; 

    for(int i = 0; i < ARRAY_SIZE; i++){ 
     for (int j = 0; j < ARRAY_SIZE; j++){ 
      if ((i+j)%2 == 0){ 
       test[i][j] = 88; 
      } 
      else if ((i+j)%2 == 1){ 
       test[i][j] = 11; 
      } 
     } 
    } 

} 

什么代码,我应该添加得到它打印每行10个元素?请帮助我D:提前致谢! :)

+0

是什么ARRAY_SIZE的值? – 2014-10-10 10:14:50

回答

0
#include <iostream> 

#define ARRAY_SIZE 10 

int main() 
{ 
    int test[ARRAY_SIZE][ARRAY_SIZE]; 

    for(int i = 0; i < ARRAY_SIZE; i++){ 
     for (int j = 0; j < ARRAY_SIZE; j++){ 
      if ((i+j)%2 == 0){ 
       test[i][j] = 88; 
      } 
      else if ((i+j)%2 == 1){ 
       test[i][j] = 11; 
      } 
     } 
    } 

    for(int i = 0; i < ARRAY_SIZE; i++){ 
     for (int j = 0; j < ARRAY_SIZE; j++){ 
      std::cout << test[i][j] << " "; 
     } 

     std::cout << "\n"; 
    } 

} 

希望这有助于。

0
  1. 这看起来像分配新建分配FY /功课

    • ,所以我将不提供源代码
    • 是这个控制台输出?
    • 如果没有指定目标......
  2. 您的代码只是填充阵列

    • 打印您需要通过整个数组中添加2嵌套的for循环(I,J)
    • 类似于你已经有的
    • 和内部输出数组元素test [i] [j]而不是将它的值设置为
    • 在屏幕上输出使用你习惯的(或者w你在课堂上使用的帽子......)
    • 从iostream.h stdio.h中
    • 例如coutprintf或CONIO.H不知道现在还没有使用这些之乎者也更多的则十年
  3. 每行

      每次
    • 10的值,在输出ASCII码13(回车)它用于控制台目标设备的新线
    • 它也做了换行做左侧
    • 因此要实现你想要的只是添加cout << endl;printf("\n");
    • 每10个值被驱赶出局后...
    • 所以之前嵌套为我们增加一些柜台int k=0;
    • 内循环递增,并添加if (k>=10) { k=0; cout <<endl; }
    • 根据按照如何把所有这些放在一起你可能是
    • 将需要更改10 +/- 1匹配每行10个值
    • 不要忘记在其他值之间添加一些空格otherw是他们的意志合并到单一号码...
  4. 光栅目标设备

    • 像位图非控制台设备...
    • 你需要计算输出x,其中各Y位置值你的自我循环添加
    • 如此前int x=x0,y=y0; // start position for output
    • 每次你增加k,也加上x+=width_for_single_value;
    • 和eac您设置k回零小时所需时间增加y+=height_for_single_value; x=x0;
  5. 列排列

    • 的,你可以根据输出值大小
    • 使用格式化像 printf("%4i ",test[i][j]);
    • 或添加空格/零你的自我
    • 例如这样的事情:
    • int val=123;
    • if (val<10) cout << "0";
    • if (val<100) cout << "0";
    • if (val<1000) cout << "0";
    • if (val<10000) cout << "0";
    • cout << val << " ";
    • 如果你是输出到文本文件,你可以使用制表ASCII码9或 '\ t'