こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

c言語です。

c言語です。

実行結果


3 X1 + 2 X2 + 1 X3 = &g
2 X1 + 5 X2 + 2 X3 = &g
1 X1 + 4 X2 + 1 X3 = &g

X1 = 1
X2 = 2
X3 = 3




3 X1 + 2 X2 + 1 X3 = 10
2 X1 + 5 X2 + 2 X3 = 18
1 X1 + 4 X2 + 1 X3 = 12

X1 = 1
X2 = 2
X3 = 3

に直したいのですが&gの所をどのようにしたら10.18.12になりますか?


#include <stdio.h>
#include <float.h>

#define N 3

double A[N][N] = {{3,2,1},
{2,5,2},
{1,4,1}};
double b[N] = { 10, 18, 12 };

void Gauss_J( int, double*, double* );

void main(void)
{
int i;

printf( "%d式\n", N );
for( i = 0; i < N ; i++ )
{
printf( "%g X1 + %g X2 + %g X3 = &g \n",
A[i][0], A[i][1], A[i][2], b[i] );
}
printf("解\n");
Gauss_J(N, (double *)A, (double *)b );
printf("X1 = %g \n", b[0]);
printf("X2 = %g \n", b[1]);
printf("X3 = %g \n", b[2]);
}
void Gauss_J(int n, double *a, double *b)
{
int p, i, j,I ;
double pivot, c ;

for ( p = 0 ; p < n ; p++ )
{
pivot = a[ p*n + p ];
for ( i = p ; i < n ; i++ )
{
a[ p*n + i ] /= pivot;
}
b[ p ] /= pivot;

for ( I = 0 ; I < n ; I++)
{
if (I != p)
{
c = a[ I*n + p];
for ( j = p ; j < n; j++ )
{
a[ I*n + j] -= c * a[ p*n + j ];
}
b[ I ] -= c * b[ p ];
}
}
}
return ;
}

投稿日時 - 2010-06-24 00:04:38

QNo.5990731

すぐに回答ほしいです

質問者が選んだベストアンサー

&gじゃなく%gとかってオチじゃないですよね。

投稿日時 - 2010-06-24 00:08:58

お礼

&gじゃなく%gのオチでした・・・。
回答ありがとうございます。

投稿日時 - 2010-06-24 21:50:38

ANo.1

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問