6x6행렬을 파일 입력하고 다시 출력하고 싶습니다.
반혈
질문 제목 : 6x6행렬을 파일 입력하고 다시 출력하고 싶습니다. 6x6행렬을 파일 입력하고 다시 출력하고 싶습니다. 질문 내용 : 제가 가우스소거로 6x6 역행렬 구하는 과제를 받았습니다. 그 부분은 다 짰는데, 이걸 또 파일 입출력 해라고 해서 헬입니다...
int main() {
double amat[][] , v;
int i, j, k, x, dim;
system(cls);
printf(\n가우스-조던 소거법);
printf(\n행렬이 차수입력: );
scanf(%d,&dim);
// 2차원 배열에 행렬을 읽어 들임
printf(\n%d %d 행렬의 입력: \n\n,dim,dim);
for(i=0; idim; i+=1) {
for(j=0; jdim; j+=1) {
scanf(%lf,&amat[i][j]);
}
원래는 위처럼 이렇게 행렬을 입력받았는데 이걸 파일 입출력으로 텍스트로 입력 받을 수 없을 까요? 그리고
for(i=0; idim; i+=1) {
for(j=dim; jdim+dim; j+=1) {
printf( %8.5f,amat[i][j]);
}
printf(\n);
제가 입력받은 행렬 옆에 (가우스 소거법이니까) 단위 행렬 i를 더해서 첨가행렬 그러니까 6x12로 출력했는데 이 부분을 어떻게 텍스트로 출력 안될까요?
------------------
저는
file *ifp=fopen(input_data.txt, rt);// input_data 파일 열기
fscanf(ifp, %d %d %d %d , &a, &b, &c, &d);
이렇게 입력 파일을 열고 하나하나 입력하는 생각을 했는데 그렇게 되면 36개를 입력해야 해서 변수가 많아서.... 어떻게 간단하게 될까요? [그전에 이게 옳은 답인지 확신이 안서네요.]
모쪼록 c언어 고수님들의 선처 부탁 드립니다.