• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語についての質問です。)

C言語のプログラムで行列の成分をキーボードから入力する方法は?

このQ&Aのポイント
  • C言語のプログラムで行列の成分をキーボードから入力する方法を教えてください。
  • プログラムの前半にあるA[N][N]={{1,0,0},{0,1,0},{0,0,1}}という行列の成分とb[N]={4,5,3}をキーボードから入力する方法を知りたいです。
  • C言語のプログラムでfor や scanf 、printf を使って行列の成分をキーボードから入力する方法を教えてください。

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

  • ベストアンサー
回答No.1

こういうパラメータの入力はGUI向きなんだよね。コンソールアプリじゃ出来るだけ避けるべきところです。 あまりエレガントではないと思いますが。 char buf[256]; int p; // A[N][N]の入力 for (i = 0; i < N; i++) { printf("\n行列A[%d][N]の成分をx,y,zのように入力してください\n", i); scanf("%s", buf); k = 0; for (j = 0; j < N; j++) { for (p = k, k < (int)strlen(buf); k++) { if (buf[k] == ',') { buf[k] = '\0'; do { k++; } while(buf[k] == ' '); break; } } A[i][j] = atoi(&buf[p]); } } // b[N]の入力 printf("\n行列b[N]の成分をx,y,zのように入力してください\n", i); scanf("%s", buf); k = 0; for (j = 0; j < N; j++) { for (p = k, k < (int)strlen(buf); k++) { if (buf[k] == ',') { buf[k] = '\0'; do { k++; } while(buf[k] == ' '); break; } } b[j] = atoi(&buf[p]); } どうせコンソールアプリなら、コマンドラインパラメータで指定するという方法の方が入力ミスを防げると思いますが……

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

で, 何が分からないんでしょうか? やることは書いてある通りなので, この文面からは「あなたが何を問題としているのか」が理解できません.

関連するQ&A