• ベストアンサー

c言語でキーボードから入力しての表をつくりたいのですが・・・

ハンガリー法を作るために、何行何列かをキーボードから入力して、表を表示したいのですが、なかなかうまく作れません。 nを3、mを4などと入力し、その後3*4=12この数値もキーボードから入力できるようなプログラムをわかりやすく教えてください。 お願いします。その他にも表の作り方があればそちらの方もお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.1

コンソールベース(CUI)ですか?カーソルキーを使ってその表のセルを行ったり来たりというのはなかなか面倒になると思います。また、Windows等、GUIでしたら表入力、表示用の widgetがありますのでそれを利用するのが楽だと思います。 CUI でやるばあい、scanf を使って n, m を入力。その後n, m を最大値にforで回しながら scanf (等)で入力が一般的ですね。 int *arr; int n, m, i, j; printf ("n > "); scanf ("%d", &n); printf ("m > "); scanf ("%d", &m; arr = (iint*)malloc (sizeof(int) * m * n); for (i = 0; i < m; i++) {  for (j = 0; j < n; j++) {   printf ("%d 行 %d 列 > ", i, j);   scanf ("%d", &arr[i][j]);  } } 入力部分だけですが、こんな感じになると思います。出力も同じようなループで、表示する数値の桁数を指定し、改行位置を工夫してあげれば簡単にできます。

kazutaro-
質問者

お礼

どうもありがとうございました。 昨日から自分なりに頑張ってみましたが、ちょうど繰り返しのループに つまずいていました。 ちょっと自分には理解できない点がありますが、また頑張ってみます。 よくわかる回答本当にありがとうございます。

関連するQ&A