C++ プログラミング
連立方程式の逆行列と解を出そうとしたのですが
/*n=4と定義nは元の数*/
#define n 4
int main()
{
/*係数マトリクスAと単位マトリクスと右辺ベクトルの定義*/
double a[n][n+5]={{4,1,3,2,1,0,0,0,23},
{1,4,3,3,0,1,0,0,30},
{5,5,10,5,0,0,1,0,65},
{4,4,2,6,0,0,0,1,42}};
double x,y;
int i,j,k;
/*#1ピボットの演算を行うためのループ*/
for(k=0;k<n;k++)
{
/*ピボット係数*/
x=a[k][k];
/*#2ピボットをにするための演算を行うためのループ*/
for(j=k;j<n+5;j++)
/*ピボット行をxで割る*/
a[k][j]=a[k][j]/x;
/*#3ピボット列の掃き出しを行うためのループ*/
for(i=0;i<n;i++)
{
/*#4iがkではないとき*/
if(i!=k)
{
y=a[i][k];
/*#5ピボット以外をにする演算を行うためのループ*/
for(j=k;j<n+5;j++)
a[i][j]=a[i][j]-y*a[k][j];
}
}
}
/*結果を表示*/
printf("係数マトリクスAの逆行列を表示\n");
for(i=0;i<n;i++){
for(j=4;j<n+4;j++){
printf("a[%d][%d]=%f",i+1,j-3,a[i][j]);
}
printf("\n");
}
printf("連立方程式の解を表示\n");
for(i=0;i<n;i++)
printf("x%d=%f\n",i+1,a[i][n+4]);
return 0;
このプログラムを打って
1>z:\win\personal\visual studio 2008\projects\課題2.cpp(35) : error C3861: 'printf': 識別子が見つかりませんでした
1>z:\win\personal\visual studio 2008\projects\課題2.cpp(38) : error C3861: 'printf': 識別子が見つかりませんでした
1>z:\win\personal\visual studio 2008\projects\課題2.cpp(40) : error C3861: 'printf': 識別子が見つかりませんでした
1>z:\win\personal\visual studio 2008\projects\課題2.cpp(42) : error C3861: 'printf': 識別子が見つかりませんでした
1>z:\win\personal\visual studio 2008\projects\課題2.cpp(44) : error C3861: 'printf': 識別子が見つかりませんでした
1>z:\win\personal\visual studio 2008\projects\課題2.cpp(46) : fatal error C1075: 左側 中かっこ '{' に対応するものが 'z:\win\personal\visual studio 2008\projects\課題2.cpp(4)' で見つかる前に EOF が検出されました。
とエラーがでました.printfはちゃんと定義されてると思うんですが何がおかしいのでしょうか・・・?
お礼
本当にそうですね、もっと素直にコードを書くべきと思いました。 回答ありがとうございます。