あなたの「必」の書き順を教えてください

今visualC++で6*6の行列の逆行列を求めるプログラムを書いています。ちなみに逆行列を求めるプログラムはわかっています。

[わからない点]
main関数でA[6][6]とinv_A[6][6]を宣言して、A[][]を逆行列にする関数に引数として渡し、できた逆行列をmain関数のinv_A[6][6]に値を入れたのですが、どうしたらよいのですか?ご存知のかたいらっしゃいましたら教えてください。お願いします。

A 回答 (3件)

#include <stdio.h>



#define N 6

void Invert(double a[N][N],double inv_a[N][N])
{
 //ここにaを逆行列にしてinv_aに求めるプログラムを書く
}

int main(void)
{
 int i,j;
 double A[N][N] = {
  {11.0,12.0,13.0,14.0,15.0,16.0 },
  {21.0,22.0,23.0,24.0,25.0,26.0 },
  {31.0,32.0,33.0,34.0,35.0,36.0 },
  {41.0,42.0,43.0,44.0,45.0,46.0 },
  {51.0,52.0,53.0,54.0,55.0,56.0 },
  {61.0,62.0,63.0,64.0,65.0,66.0 }
 };
 double inv_A[N][N];
 Invert(A,inv_A);
 for (i=0;i<N;i++) {
  for (j=0;j<(N-1);j++) {
   printf("%f,",inv_A[i][j]);
  }
  printf("%f\n",inv_A[i][N-1]);
 }
}
    • good
    • 0

 masatoyoさん、こんにちは。


 すみません。先ほどの回答は誤りでした。配列の場合は引数を受け取った側の関数で値を変更してやると、呼び出し側の配列も変更されます。したがってchie65535さんが、書かれているように逆行列の関数に引数を渡してやれば良いと思います。
 chie65535さんご指摘ありがとうございました。m(_)m
    • good
    • 0

 こんにちは、masatoyoさん。


 逆行列を求める関数があるのであれば、以下のようにその戻り値をinv_A[6][6]に代入すれば良いと思います。(勿論、逆行列を求める関数が戻り値を返さないといけませんが・・・・・)

 inv_A[6][6] = [関数名(引数)];

この回答への補足

この場合引数はどのようなかたちでわたして、
戻り値はどのようなかたちでわたすのですか?

宜しくお願いします。

補足日時:2009/04/01 16:27
    • good
    • 0

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


おすすめ情報