가우스 소거법
책에 적힌 대로 적었는데 오류가 이렇게 떠서 어떻게 해야될지 모르겠어...;
전공이 에너지자원전공이라 프로그램은 만져본적도 없고;; 교수는 수치해석 과제라고 닥치고 해라고 하고;;
저거 오류 클릭해보면 가리키는곳은 글씨 크게 해놓은 곳인데 ;;
아까 누가 선언? 같은거 안했다는데 그럼 어떻게 고쳐야 하는거야? 좀 도와주라 ㅠㅜ
#include "stdafx.h"
#include "stdio.h"
void main()
{
int i,j,k,num_eq, num_var;
float coeff[20] [20], known[20];
printf("Enter the Number of Equations. : ");
scanf_s("%d",&num_eq);
printf("Enter the Number of Variables. : ");
scanf_s("%d",&num_var);
for(i=0; i<num_eq; i++){
printf("*********************n");
printf("Enter the Coefficients of eq. %d.
n", i+1);
for(j=0; j<num_var; j++){
printf("coefficient of variable %d.
: ", j+1);
scanf_s("%f",&coeff[i][j]);
}
printf("Enter the Known Value of eq. %d. :
",i+1);
scanf_s("%f",&known[i]);
}
printf("********************************n");
printf("nn Entered Equations :n");
for(i=0;i<num_eq; i++){
for(j=0; j<num_var; j++){
printf("%10.3f * X%d", coeff[i][j],
j+1);
if(j!=num_var-1) printf("+");
else printf("=");
}
printf("%10.3fn",known[i]);
}
gauss_jordan_pivoting(coeff,known,num_eq,num_var);
{
printf("nn**********************************n");
printf("Results : n");
for(i=0;i<num_eq; i++){
for(j=0; j<num_var; j++)
printf("%10.3f * X%d ", coeff [i]
[j], j+1);
printf("= %10.3fn", known[i]);
}
}
void gauss_jordan_pivoting(coeff,known,num_eq, num_var)
float coeff[20][20], known[20];
int num_eq, num_var;
{
int pivot_eq, eq2, var, max_index;
float max_value, ftemp;
for (pivot_eq=0; pivot_eq<num_eq; pivot_eq++){
max_index=0;
max_value=coeff[pivot_eq][0];
for(var=0; var<num_var; var++)
if(coeff[pivot_eq][var]*coeff[pivot_eq][var]
>max_value*max_value){
max_index=var;
max_value=coeff[pivot_eq][var];
}
for(var=0; var<num_var;var++)
coeff[pivot_eq][var]/=max_value;
known[pivot_eq]/=max_value;
for(eq2=0; eq2<num_eq; eq2++){
ftemp=coeff[eq2][max_index];
if(eq2!=pivot_eq){
for(var=0; var<num_var; var++)
coeff[eq2][var] -=ftemp*coeff[pivot_eq][var];
known[eq2]-
=ftemp*known[pivot_eq];
}
}
}
}
#include 밑에 void gauss_jordan_pivoting(float coeff[][20],float known[], int num_eq,int num_var); 이거 추가하세여
감사합니다 ㅠㅜ
void gauss_jordan_pivoting(coeff,known,num_eq, num_var) 라고 되있는 부분을 void gauss_jordan_pivoting(float coeff[][20],float known[], int num_eq,int num_var) 이렇게 바꾸시고
float coeff[20][20], known[20]; 이거 밑에밑에 있는 { 대괄호를 거기다 쓰지 마시고 float coeff[20][20], known[20]; 위에다가 쓰시면 될듯
오오 한번 해보겠습니다
아 더바꿔야될듯..
네;; 아직 안되요 ㅠㅜ
수정해서 올려드렸음 하도 에러가 많아서..
\'gauss_jordan_pivoting\' : local function definitions are illegal this line contains a \'{\' which has not yet been matched fatal error C1075: end of file found before the left~
감사합니다 흑흐....ㅠㅜ