以下のコードは大学の授業で配布されたコードの一部に私が書き加えたものです。
こんにちは。
下記コードのような配列(array())の要素数と二重のfor文のループ回数が等しいとき(下記コードでは16)、forのループ数と等しいindexの配列の要素を繋げるプログラムを実装したいと思っています。(「こんなことがしたい」のようなことがしたいです)
下記コードは私なりに書いてみたのですが、「ここでエラー」のところで「; が必要です」とエラーが出ました。
どこが間違っているのでしょうか?
また、もっと簡単に実装できるのでしょうか?
よろしくお願いいたします。
c
1static void a(double m[][4], double x, double y, double z) 2{ 3 int i,j,k = 0; 4 double func(x, y, z) {//ここでエラー 5 double array[] = { 1, 0, 0, x, 0, 1, 0, y, 0, 0, 0, z, 0, 0, 0, 1 }; 6 return array[k]; 7 ++k; 8 } 9 10 for (j = 0; j < 4; ++j) { 11 for (i = 0; i < 4; ++i) { 12 m[j][i] = func(x, y, z);//こんなことがしたい 13 } 14 } 15}
cでは関数の中に関数を入れることはできないとの指摘をいただきましたが、wikipediaの「ネスティングのページ」に載っていた下記の図の内容はcでの関数のネストができることを表しているものではないのでしょうか?(未熟なのでcでは関数のネストができるものだと思いました(gccコンパイラー?を使うと書かれているので、また、文法がcに似ていたので))。リンクは当該ページリンク内容
思ったのですが、単純にcで書かれていないだけのことだったんですね...
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/28 07:26
2018/11/28 07:28
2018/11/28 07:28
2018/11/28 07:29
2018/11/28 07:32
2018/11/28 07:36
2018/11/28 07:36
2018/11/28 07:46 編集
2018/11/28 07:52
2018/11/28 08:03
2018/11/28 08:06
2018/11/28 08:13
2018/11/29 01:38
2018/11/29 07:49 編集
2018/11/29 05:22
2018/11/29 07:51