PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2007/04/09 22:05:46
Name DeathMage
Subject 다시 상세한 fscanf 질문입니다=ㅂ=;
그러니까, 기본적으로 다항식의 곱셈을 하는 프로그램인데,

링크드리스트를 써야하고, 배열을 사용하면 안됩니다.

input.txt에 있는 데이터 값을 받아서 결과물을 output.txt로 내는 것입니다.

밑에 있는 것으로는

6 5 4 3 // 첫번째 다항식. 6x^5 + 4x^3
8 7 6 5 // 두번째 다항식. 8x^7 + 6x^5

은 연산이 되지만

8 7 6 5 4 3 2 1 // 첫번째 다항식, 8x^7 + 6x^5 + 4x^3 + 2x^1
9 6 4 3 // 두번째 다항식, 9x^6 + 4x^3

은 불가능합니다.

typedef struct poly_STnode { /*<--poly node 구조체-->*/
        int coefficient;
        int exponent;
        struct poly_STnode *link; /*<--링크 필드 설정-->*/
} poly_STnode;

typedef struct { /*<--헤더 구성 구조체-->*/
        poly_STnode *head;
} poly_linkHead;


/*<-- poly list 생성 -->*/
poly_linkHead *polySL() {

        poly_linkHead *P;
        P = (poly_linkHead *)malloc(sizeof(poly_linkHead));
        P->head = NULL;
        return P;
}
.
.
.
.
.

등등등 해서 링크드 리스트를 구성하고요.

그 후에 메인에서 값을 받아서 할려고 했는데..


int main() {


        char *fname_i = "input.txt";

        FILE *input_d;
        if ((input_d = fopen(fname_i,"r"))==NULL){
                printf("파일이 열리지 않았습니다!!\n");
                exit(1);

        }
        
        
/*<--곱셈 시작-->*/
        int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
        int e1 = 0, e2 = 0, e3 = 0, e4 = 0;

        
        poly_linkHead *P1;
        poly_linkHead *P2;
        P1 = polySL();
        P2 = polySL();

/*<--첫번째 다항식-->*/

        fscanf(input_d,"%d %d %d %d",&c1,&e1,&c2,&e2);
        last_data_add(P1,c1,e1); //last_data_add();에 다항식 인자를 넣어서 계산가능
        last_data_add(P1,c2,e2); //링크드 리스트로 구성되어 있습니다.

/*<--두번째 다항식-->*/
        fscanf(input_d,"\n%d %d %d %d",&c3,&e3,&c4,&e4);
        last_data_add(P2,c3,e3); //두번째도 마찬가지
        last_data_add(P2,c4,e4);

        fclose(input_d);
        


/*<--값출력-->*/

        printf("다항식의 곱셈 연산 : \n");
        printList(P1); // 첫번째 다항식 받은값 출력
        printList(P2); // 두번째 다항식 받은값 출력
        printf("-----------------------------------\n");
        fileOUTPUT(MULTIPLICATION_POLY(P1,P2));
//MULTIPLICATION_POLY(P1,P2)는 첫번째와 두번째 다항식의 곱을 구하는 함수
//그걸 파일로 아웃풋을 내기 위한 fileOUTPUT(); 출력함수

}


이렇게 되있습니다.

저가 실은 fscanf를 제대로 배우질 못해서-_-; 많이 어렵네요..

어떻게 하면 더 많은 인자를 받을 수 있을까요?

fscanf로 한줄씩 읽어서(즉 다항식 하나씩) 링크드 리스트에 저장하고,

연산을 하고 싶은데요.. 어떻게 할까요;?






통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
07/04/10 09:18
수정 아이콘
이런 경우에는 fscanf를 쓰지 마시고..
fgets 같은걸로 한 줄을 읽어내신 다음에, strtok로 분해해서 하시는게 좋을 것 같네요.
꿀호떡a
07/04/10 17:39
수정 아이콘
제 생각에도 fgets로 입력받아서 자르시는 편이 좋을 것 같네요.
굳이 fscanf를 쓰셔야 한다면, 입력파일에서 다항식마다 항의 개수 N을 처음에 입력받고 시작한다거나 하는 방법이 있겠습니다[...]
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
26779 펭귄 사용에 대한 질문 아르바는버럭1583 07/04/10 1583
26777 노트북에 무선 인터넷 하는 방법? [3] 김덕현1934 07/04/10 1934
26775 미드,일드 관련 질문입니다~ [3] Cine_HyO1958 07/04/10 1958
26774 동영상 오류 문제입니다~ [3] il manifico1700 07/04/10 1700
26773 프리미어리그에 대한 궁금증이 있습니다. [2] 러브포보아1936 07/04/10 1936
26772 임요환 선수 서바이버 일정좀 가르쳐 주세요 [1] 소주는C11706 07/04/10 1706
26770 일반화학문제인데 영어 해석에 있어서 질문... [3] Nuke2002 07/04/10 2002
26769 문학작품을 바라보는 관점(?)에 대해서 질문입니다, [4] Daylight2020 07/04/10 2020
26768 스타만 하면 컴퓨터가 이상해져요. [3] 대항해시대1575 07/04/10 1575
26766 영어 영작 좀 부탁드려요~~ [3] Whut!1570 07/04/09 1570
26765 퓨리에 시리즈와 트랜스폼 고수분들좀 도와주세요~.. 부모님께효도2330 07/04/09 2330
26764 다시 상세한 fscanf 질문입니다=ㅂ=; [2] DeathMage2157 07/04/09 2157
26763 일반화학 질문입니다. [3] molina2375 07/04/09 2375
26762 인터넷수학강의에대해서 [2] artterran2117 07/04/09 2117
26761 멈춰있을 돈을 어떻게 할까요?? [3] 엔마1899 07/04/09 1899
26756 바이오하자드 좋아하시는분들 [1] 추남카카2162 07/04/09 2162
26754 다시 글 올립니다. 법원 경매에 관한 질문입니다. [3] 가스러쉬1541 07/04/09 1541
26751 조대희선수의 프로필좀 알수있을까요 [1] 추남카카1658 07/04/09 1658
26750 만약 본진 노가스 앞마당 有가스인 맵이 있다면 어떤 종족이 유리한가요? 그리고... [16] 창이♡2492 07/04/08 2492
26749 컴퓨터 조립 및 PMP 선택 질문드립니다.^^; [7] ElaN1805 07/04/08 1805
26748 이 사마귀 그냥 놔둬야 할까요??(사진첨부) [12] Fly:D3307 07/04/08 3307
26746 고3 학생인데 질문있습니다,, [7] 공방풀업아칸1931 07/04/08 1931
26745 의류 쇼핑몰에 관해서 질문드려요 [1] 둥둥2104 07/04/08 2104
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로