我有一个100x100的数组,但是除了使用颜色显示差异之外,我还需要清楚地显示4个侧面(左上,右上,左下,右下)之间的差异,我应该如何证明它是不同的。问题是我必须使用字母“ A”作为数组输出。我也被允许只使用1100 x100阵列。这意味着我不能使用4个25x25阵列。这是用c ++编写的,但是也欢迎使用Java代码或解释。像这样吗?样本输出:
AAAAAAAAA AAAAAAAAA AAAAAAAAA AAAAAAAAA AAAAAAAAA AAAAAAAAA AAAAAAAAA AAAAAAAAA
如果要按问题所示打印将每个象限分开的数组,则只需将数组分成两个长度,并用空格分隔即可。如果大小是偶数。例如
int SIZE = 100;
int MID = SIZE/2;
char a[][] = new char[SIZE][SIZE];
for(char[] col : a){
Arrays.fill(col, 'A');
}
for(int i=0; i<SIZE; i++){
if(i == MID) System.out.println();
for(int j=0; j<SIZE; j++){
if(j == MID) System.out.print(" ");
System.out.print(a[i][j]);
}
System.out.println();
}
这里的想法是遍历每个元素,如果索引中途,则添加一个空格。因此,如果将大小设置为4,您将获得
AA AA
AA AA
AA AA
AA AA
C ++示例
#include <iostream>
#define SIZE 4
int main() {
int MID = SIZE/2;
char a[SIZE][SIZE];
//Initializing array
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
a[i][j] = 'A';
}
}
//Print squares
for(int i=0; i<SIZE; i++){
if(i == MID) cout << endl;
for(int j=0; j<SIZE; j++){
if(j == MID) cout << " ";
cout << a[i][j];
}
cout << endl;
}
return 0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句