アプリ版:「スタンプのみでお礼する」機能のリリースについて

3次元の計算を行いたいのですが、出力する際に5×5×5の結果を出したいのに5×25の結果が生じされます。

for (i = 0; i < S; i++) {
{
for (j = 0; j < S; j++)
{
for(z=0; z < S; z++)
printf("%9.31f ", a[i][j][z]); //結果を表示
{ printf("\n"); }

}
}
}
おかしな部分がありますか?
このやり方で2次元の5×5は表示できたのですが

C言語関連・0閲覧

A 回答 (5件)

インデントがやけに見にくいな、


{ } の付け方も何だか変だし。

for (i = 0; i < S; i++) { {
  for (j = 0; j < S; j++) {
    for(z=0; z < S; z++)
      printf("%9.31f ", a[i][j][z]); //結果を表示
    { printf("\n"); }
  }
} }

で表示されるのは、
こんな感じですね。
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□

これを 5×5 のカタマリごとに区切って表示するには、
こんな感じに書いたらいいのではないですか?

for (i = 0; i < S; i++) {
  for (j = 0; j < S; j++) {
    for(z=0; z < S; z++)
      printf("%9.31f ", a[i][j][z]); //結果を表示
    printf("\n");
  }
  printf("\n");
}
    • good
    • 0

>出力する際に5×5×5の結果を出したい



2次元のディスプレーや紙上に3次元の配列デー夕を出力するのだから
まず、出力フォーマットを考えないといけない。
こう出力しなければならないという決まりは無いけど
どうしたい?
    • good
    • 1

本題ではないですが、一般的には中括弧が無駄に多いので何? おかしいと感じます。

問題ではないでしょうけど…
    • good
    • 0

そもそもコンソールは二次元なので、立体的に表示は出来ませんよ。


冷静に考えれば無理だとわかるレベル
    • good
    • 1

□□□□□ □□□□□ □□□□□ □□□□□ □□□□□


□□□□□ □□□□□ □□□□□ □□□□□ □□□□□
□□□□□ □□□□□ □□□□□ □□□□□ □□□□□
□□□□□ □□□□□ □□□□□ □□□□□ □□□□□
□□□□□ □□□□□ □□□□□ □□□□□ □□□□□

こんな↑感じに表示させたいってことですか?
それとも、こう↓ですか?
□□□□□
□□□□□
□□□□□
□□□□□
□□□□□

□□□□□
□□□□□
□□□□□
□□□□□
□□□□□

□□□□□
□□□□□
□□□□□
□□□□□
□□□□□

□□□□□
□□□□□
□□□□□
□□□□□
□□□□□

□□□□□
□□□□□
□□□□□
□□□□□
□□□□□
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A