2016-11-13 8 views
0

私はCのプログラミングでは初めてです。C、printfループと行の変更

私は画面に結果を印刷するが、複数行の結果を分割する1次元アレイ(ユーザによって指定された配列のサイズ、を含む座席番号)

を有します。各行には配列の要素が4つ、要素の最後の要素が4つ必要です。

おそらく、私はprintfと組み合わせたforループを使用しますが、それらを組み合わせる方法は考えられません。

私が試したことはありますが、とてもエレガントではありませんが、このコードは約15回繰り返す必要があります。

for (i = 0; i < 4; i++) { 
     if (seatnr[i] = 1) 
      printf("1"); 
     else 
      printf("0"); 
    } 
    printf("\n"); 

    for (i = 4; i < 8; i++) { 
     if (seatnr[i] = 1) 
      printf("1"); 
     else 
      printf("0"); 
    } 
    printf("\n"); 
    for (i = 8; i < 12; i++) { 
     if (seatnr[i] = 1) 
      printf("1"); 
     else 
      printf("0"); 
    } 
+5

あなたは何を試してみましたか?どのように、またはそれは動作しませんでしたか?あなたの試みのために、実際の出力は何ですか?そして、あなたのプログラムからの期待される出力を表示してください(いくつかの指定された入力に対して)。 [良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)を読んで、[最小限の完全で検証可能な例](http:// stackoverflow。 com/help/mcve)。 –

+0

アイデアがたくさんあります。しかし、アイデアを求めることは、SOのQ&Aフォーマットに適合しません。だから何かを試して、あなたの質問を絞り込みます。 – StoryTeller

+0

コードの一部を繰り返す必要があるときはいつでも、コピー・ペーストは答えはめったにありませんが、ループはあります。ネストされたループを作成することができます。一つは細かく作られたループです。一つはループ(ネストされたループの変形)を含む関数を呼び出すループです。 –

答えて

-1
for (j = 0; j < n; j+=4) 
{ 
    for (i=j; i < j+4; i++) 
    { 
     if (seatnr[i]==1) printf("1"); 
     else printf("0"); 
    } 
    printf("\n"); 
} 
+0

'seatnr [i] = 1'のバグを修正してください – chqrlie