以下のプログラムで「マトリクスの行列式の値」を示す部分はどこにあたりますか??
よろしくお願いします。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void){
int i,j,k,p,N;
double r,*b,*a,*ai,*ak,*ap;
double amax; /*第k列の第k行から第N-1行までの最大値*/
printf("N=");
scanf("%d",&N);
a= (double*)malloc(N*N*sizeof(double));
if(a==NULL){
printf("Can't allocate memory");
exit(1);
}
ai=a;
ak=a;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("a[%d][%d]=",i,j);
scanf("%lf",&ai[j]);
}
ai+=N;
}
b=(double*)malloc(N*sizeof(double));
if(b==NULL){
printf("Can't allocate memory");
exit(1);
}
for(i=0;i<N;i++){
printf("b[%d]",i);
scanf("%lf",&b[i]);
}
for(k=0;k<N-1;k++){ /*前進消去法*/
ai=ak+N;
ap=a;
p=k;
amax=ak[k];
for(i=k+1;i<N;i++){ /*k行からN-1行の中で最大のものをだす*/
if(fabs(amax)<fabs(ai[k])){
p=i; /*最大となる値とその値の行を記憶*/
amax=ai[k];
}
ai+=N;
}
ap+=p*N;
for(j=0;j<N;j++){ /*第k行と第p行を入れ替える*/
amax=ak[j];
ak[j]=ap[j];
ap[j]=amax;
}
amax=b[k];
b[k]=b[p];
b[p]=amax;
ai=ak+N;
for(i=1+k;i<N;i++){
r=ai[k]/ak[k];
for(j=k+1;j<N;j++){
ai[j]-=ak[j]*r;
}
b[i]-=r*b[k];
ai+=N;
}
ak+=N;
}
/*このときのakは第N-1行を指すポインタとなっている*/
for(k=N-1;0<=k;k--){
for(j=N-1;k<=j;j--){ /*後退代入*/
if(j!=k){
b[k]-=ak[j]*b[j];
}
}
b[k]=b[k]/ak[k]; /*今回は特に変数xなどをつくらなくても答は出せる*/
ak-=N;
}
free(a);
for(i=0;i<N;i++){
printf("x[%d]=%.2f\n",i,b[i]);
}
free(b);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bashスクリプト内のpostgreSQL...
-
ディープフェイクを作成するサ...
-
鯉はどうして水面に跳ねるので...
-
pHジャンプについて教えてくだ...
-
こんな商品あったらいいな!
-
左右対称な顔は性別はないそう...
-
フランス語で
-
IHクッキングヒータによる誘導...
-
英訳してください
-
AIが急速に進化して社会に広...
-
都市銀行店頭の店員さん全てロ...
-
ビー玉を41個使って遊ぶゲー...
-
走る電車の中と外でジャンプし...
-
AIロボット技術が発展しまくる...
-
Googleの '私はロボットではあ...
-
steamに登録できない
-
この問題の解き方なんですが、x...
-
機械工学科志望で志望理由書に...
-
フランス語の「~こと」、「ce ...
-
複素数αの4乗が実数になるαの値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bashスクリプト内のpostgreSQL...
-
ディープフェイクを作成するサ...
-
YAHOO JAPANの左右の広告を非表...
-
得もないのに面倒なことをしよ...
-
失業者が出るのになぜAIを作る...
-
FTXって、どういう意味ですか?...
-
小論文?作文?です。お願いし...
-
pdfをaiに自動で変換したい
-
鯉はどうして水面に跳ねるので...
-
pHジャンプについて教えてくだ...
-
アルファベットを中国語(漢字...
-
dynamicsとkineticsの違いって...
-
ビー玉を41個使って遊ぶゲー...
-
都市銀行店頭の店員さん全てロ...
-
慣性がなかったら、どうなりますか
-
よく「飲み行こう」「食べ行こ...
-
生物と無生物の最大の違いって...
-
走る電車の中と外でジャンプし...
-
steamに登録できない
-
皆さん、おはようございます♪ ...
おすすめ情報