ある周囲と数字のボックスを印刷する私はループがm
& n
の値に応じて、以下のようなボックスを返すためのシリーズを必要とします。は同じ値
べき出力:以下
1 1 1 1 1 1 1
1 2 2 2 2 2 1
1 2 3 3 3 2 1
1 2 2 2 2 2 1
1 1 1 1 1 1 1
私のコードは、半分にボックスを分割する一連のループを使用して、列と行の両方の値を上昇または下降いずれもこれまでのところです。私が立ち往生しているところでは、これらの境界線を値のために作る方法を見つけようとしています。 if文を使用せずに動作するはずであることに注意してください。上記のコードのための
int m = 5; //column value
int n = 7; //row value
int column;
for (int row = 0; row <= (m/2); row++) {
//Ascending
for (column = 1; column < (n/2); column++) {
int outputNumber = row + 1;
System.out.print(outputNumber + " ");
}
//Fixed
do {
int outputNumber = row + 1;
System.out.print(outputNumber + " ");
}
while (column < 0);
//Descending
for (column = n/2; column >= 0; column--) {
int outputNumber = row + 1;
System.out.print(outputNumber + " ");
}
System.out.println();
}
for (int row = m/2; row > 0; row--) {
for (column = 1; column <= n; column++) {
System.out.print(row + " ");
}
System.out.println();
}
電流出力:
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
2 2 2 2 2 2 2
1 1 1 1 1 1 1
したがって、印刷される数字は、マトリックスを終了するために必要な「ステップ」の最小数を表す必要がありますか? –
行列が実際に配列(たとえば、5 x 1または1 x 5)の場合、出力はどうなるでしょうか? – jhenderson2099
do whileループは何ですか? columnは常に> = 1なので、一度だけ実行されるようです – phflack