미지수가 4개인 일차 연립 방정식을 풀때
식이 2개이고 미지수가 4개이면요.(x,y,z,w라하면)
미지수를 모두 값으로 확정할 수 없고 그중 2개만 다른 미지수로 나타낼수 있잖아요
(z,w를 x,y에 대한 식으로 표현)
그때 C언어로 어떻게 코딩해야 하나요?
--------------------------------------------------------------------------------------------
#include <stdio.h>
#include <math.h>
int main() {
int i;
double a[5];
double b[5];
double det, det1, x1, y1, c1, x2, y2, c2;
printf("첫번째 식 계수입력: ");
for(i=0;i<5;++i) scanf("%lf", &a[i]);
fflush(stdin);
printf("두번째 식 계수입력: ");
for(i=0;i<5;++i) scanf("%lf", &b[i]);
det = a[2]*b[3]-a[3]*b[2];
det1=1.0/det;
x1 = det1*(a[3]*b[0]-a[0]*b[3]);
y1 = det1*(a[3]*b[1]-a[1]*b[3]);
c1 = det1*(a[4]*b[3]-a[3]*b[4]);
printf("z = ");
if(fabs(x1)>0.0000001) printf("%fx",x1);
if(fabs(y1)>0.0000001) {
if(y1>0) printf("+");
printf("%fy", y1);
}
if(fabs(c1)>0.0000001) {
if(c1>0) printf("+");
printf("%f", c1);
}
printf("\n");
x2 = det1*(a[0]*b[2]-a[2]*b[0]);
y2 = det1*(a[1]*b[2]-a[2]*b[1]);
c2 = det1*(a[2]*b[4]-a[4]*b[2]);
printf("w = ");
if(fabs(x2)>0.0000001) printf("%fx",x2);
if(fabs(y2)>0.0000001) {
if(y2>0) printf("+");
printf("%fy", y2);
}
if(fabs(c2)>0.0000001) {
if(c2>0) printf("+");
printf("%f", c2);
}
return 0;
}
'c·c++ > c 프로그래밍' 카테고리의 다른 글
printf() 출력 결과에 대해서 어셈블리어 관련시켜 설명 부탁드립니다. (0) | 2012.08.23 |
---|---|
4칙 연산 - 간단한 계산기 (0) | 2012.08.23 |
가상 키보드 입력 (0) | 2012.08.23 |
빠진 수 찾기 (0) | 2012.08.23 |
수건돌리기, 요세푸스의 문제 (0) | 2012.08.22 |