디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

용자형풀어줘 다시올렷어 ㅜ

용자형구함(61.41) 2012.04.01 18:53:18
조회 155 추천 0 댓글 14

<PRE>#include<stdio.h>
#include<stdlib.h>
#include<math.h>

#define MAX(x,y)         ((x)>(y)?(x):(y))
#define ABS(x)                ((x)>0? (x) : -(x))

#define MAX_DEGREE        100

// 다항식을 표현하는 구조체 타입 polynomial
typedef struct _poly {
        int degree;                // 차수
        int coef[MAX_DEGREE+1];        // 계수를 저장하는 배열
} polynomial;

/////////////////////////////////////////////////////////
// polynomial 타입에 대한 연산

// 다항식 기본연산
polynomial poly_zero();
polynomial poly_minus(polynomial P);
polynomial poly_add(polynomial P1, polynomial P2);
polynomial poly_subtract(polynomial P1, polynomial P2);
polynomial poly_multiply(polynomial P1, polynomial P2);

// 다항식의 미지수에 수치 대입
double poly_eval(polynomial P, double x);

// 다항식을 화면에 출력
void print_poly(polynomial P, char symbol);

//////////////////////////////////////////////////////////

// poly_zero
//  parameter:
//  return value:
//       다항식 p(x)=0 을 반환, 0인 다항식의 차수는 -1로 정한다.
polynomial poly_zero()
{
        polynomial r = {-1, {0}};
        return r;
}

// poly_minus
//  다항식 P를 인자로 받아 -P를 리턴한다. (계수의 부호를 바꿈)
//  parameter: polynomial P
//  return value: -P                
polynomial poly_minus(polynomial P)
{

        int i=0;
        polynomial result = poly_zero();

        // 여기에 적당한 코드를 기입하세요.
        
        return result;
}

// poly_add
//  두 다항식의 합을 계산하여 반환
//  parameter: polynomial P1, polynomial P2
//  return value: P1+P2
polynomial poly_add(polynomial P1, polynomial P2)
{
        int i=0;
        polynomial result = poly_zero();

        // 여기에 적당한 코드를 기입하세요.

        return result;
}

// poly_subtract
//  두 다항식의 차를 계산하여 리턴함
//  parameter: polynomial P1, polynomial P2
//  return value: P1-P2
polynomial poly_subtract(polynomial P1, polynomial P2)
{
        polynomial result = poly_zero();
        // 여기에 적당한 코드를 기입하세요.
        return result;
}

// poly_multiply
//  두 다항식의 곱을 계산하여 리턴함
//  parameter: polynomial P1, polynomial P2
//  return value: P1*P2
polynomial poly_multiply(polynomial P1, polynomial P2)
{
        polynomial result = poly_zero();
        int i, j;

        // 여기에 적당한 코드를 기입하세요.

        return result;
}


// poly_eval
//  다항식의 미지수에 실수 값을 대입한 결과를 계산하여 반환
//  parameter: polynomial P, double x
//  return value: P(x)를 계산한 값
double poly_eval(polynomial P, double x)
{
        int i;
        double result = 0.0;

        // 여기에 적당한 코드를 기입하세요.

        return result;
}

// print_poly
//  다항식 P를 적당한 형식으로 화면에 출력
//  P의 미지수를 표시하기 위해 symbol을 사용함
//   parameter: polynomial P, char symbol
//   return value: void
//   usage: 예를 들어 미지수를 X로 출력하고 싶으면,
//          print_poly(P, 'X'); 와 같은 꼴로 호출
//  
void print_poly(polynomial P, char symbol)
{
        int i = P.degree;

        if(P.degree<=0)
        {        // 차수가 0 혹은 -1이면, 상수항만 출력한 후 리턴
                printf("%d\n", P.coef[0]);
                return;
        }

        /// 최고차항을 먼저 출력
        // 계수가 -1 혹은 1이면 부호만 출력한다.
        if(P.coef[i] == -1)
                printf("-%c^%d ", symbol, i);
        else if(P.coef[i] == 1)
                printf("%c^%d ", symbol, i);
        else
                printf("%d%c^%d ", P.coef[i], symbol, i);

        // 나머지 항들에 대해...
        for(--i; i>=0; i--)
        {
                // 계수가 0이면 출력하지 않음
                if(P.coef[i] == 0)
                        continue;

                // 계수의 부호를 먼저 출력
                if(P.coef[i] < 0)
                        printf("- ");
                else if(P.coef[i] > 0)
                        printf("+ ");
        
                // 계수의 절대값을 출력
                // 단, 계수의 절대값이 1이고 상수항이 아니면 출력할필요 없다.
                if(ABS(P.coef[i]) != 1 || i == 0)
                        printf("%d", ABS(P.coef[i]));

                // 그 뒤에 "symbol^차수"의 형태를 출력
                // 단, 1차항이면(즉, i==1이면) "^차수"는 생략하며,
                // 상수항이면(즉, i==0이면) 출력하지 않음
                if(i>1)        
                        printf("%c^%d ", symbol, i);
                else if(i==1)
                        printf("%c ", symbol);
                        
        }

        printf("\n");
}

//////////////////////////////////////////////////////////////////
// main
int main()
{
        // polynomial 타입 연산의 연습

        // polynomial 타입 변수 선언
        // p1(x) = 10x^5 + 3x + 6
        // p2(x) = -10x^5 + x^2 - 3x + 4
        // p3(x) = x^8 + 4x^7 + 2x^6 - 10x^5 - 4x^4 - x^3 + 3x^2 + 5x + 1
        // p4(x) = x^2 - 2
        polynomial p1={5, {6,3,0,0,0,10}};
        polynomial p2={5, {4,-3,1,0,0,-10}};
        polynomial p3={8, {1,5,3,-1,-4,-10,2, 4, 1}};
        polynomial p4={2, {-2,0,1}};

        polynomial r1=poly_zero(), r2=poly_zero(), r3=poly_zero(), r4=poly_zero();

        // 주어진 다항식을 화면에 출력해본다.
        printf("p1: ");        print_poly(p1, 'X');
        printf("p2: "); print_poly(p2, 'X');
        printf("p3: "); print_poly(p3, 'X');
        printf("p4: "); print_poly(p4, 'X');
        printf("r1..r4: "); print_poly(r1, 'X');
        printf("\n");

        //////////////////////////////////////////////////////////
        // STEP 1. 다항식의 덧셈
        //  아래의 작업을 수행하는 코드를 쓰시오.
        //  (1) p1+p2을 r1에 대입
        //  (2) p1+p3를 r2에 대입
        //  (3) 다항식 r1을 화면에 출력
        //  (4) 다항식 r2를 화면에 출력

        printf("*****STEP 1.\n");
        // (1)
        // 여기에 적당한 코드를 기입하세요.
        // (2)
        // 여기에 적당한 코드를 기입하세요.
        // (3)
        // 여기에 적당한 코드를 기입하세요.
        // (4)
        // 여기에 적당한 코드를 기입하세요.
        printf("\n");

/*
        //////////////////////////////////////////////////////////
        // STEP 2. 다항식의 뺄셈
        //  아래의 작업을 수행하는 코드를 쓰시오.
        //  (1) -p1을 r1에 대입
        //  (2) r1-p2를 r2에 대입
        //  (3) 다항식 r1을 화면에 출력
        //  (4) 다항식 r2를 화면에 출력
        //  (5) p3 - (r2 + p1) 을 화면에 출력

        printf("*****STEP 2.\n");
        // (1)
        // 여기에 적당한 코드를 기입하세요.
        // (2)
        // 여기에 적당한 코드를 기입하세요.
        // (3)
        // 여기에 적당한 코드를 기입하세요.
        // (4)
        // 여기에 적당한 코드를 기입하세요.
        // (5)
        // 여기에 적당한 코드를 기입하세요.
        printf("\n");
*/

/*
        //////////////////////////////////////////////////////////
        // STEP 3. poly_eval 함수 사용
        //  아래의 작업을 수행하는 코드를 쓰시오.
        //  (1) p3의 미지수에 2를 대입했을 때의 값을 화면에 출력
        //  (2) p4의 미지수에 1.4142136을 대입했을 때의 값을 화면에 출력

        printf("*****STEP 3.\n");
        // (1)
        // 여기에 적당한 코드를 기입하세요.
        // (2)
        // 여기에 적당한 코드를 기입하세요.
        printf("\n");
*/

/*
        //////////////////////////////////////////////////////////
        // STEP 4. 다항식의 곱셈
        //  아래의 작업을 수행하는 코드를 쓰시오.
        //  (1) p3와 p4의 곱을 r1에 대입
        //  (2) r1를 화면에 출력
        //  (3) p4의 제곱을 화면에 출력
        //  (4) p3의 4승을 화면에 출력
        //  (5) r1*p1 - r1*p2 + p4 를 화면에 출력

        printf("*****STEP 4.\n");
        // (1)
        // 여기에 적당한 코드를 기입하세요.
        // (2)
        // 여기에 적당한 코드를 기입하세요.
        // (3)
        // 여기에 적당한 코드를 기입하세요.
        // (4)
        // 여기에 적당한 코드를 기입하세요.
        // (5)
        // 여기에 적당한 코드를 기입하세요.
        printf("\n");
*/
        return 0;
}        </PRE>

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
309763 숫자세기 ... 미완성 참고코드 (c++) [9] ㅁㄴㅇㄹ(61.101) 12.04.09 115 0
309762 cuda 잘하는 형 있음? 그딴건없구염'ㅡ'갤로그로 이동합니다. 12.04.09 54 0
309760 횽들 오라클자바교육센터 통해서 취업 하는거 괜찬아? 므해?갤로그로 이동합니다. 12.04.09 59 0
309759 ㅠㅠ숫자의수세기과제 도움!!도움!! [14] ZeDA갤로그로 이동합니다. 12.04.09 107 0
309758 gpl 관련 질문 [4] 소꿉놀이갤로그로 이동합니다. 12.04.09 68 0
309757 C언어에서 특수문자 어케 출력함? [3] ㅇㄹ(59.16) 12.04.09 77 0
309756 MFC로 이미지뷰어 만들려고하는데요! Paradise갤로그로 이동합니다. 12.04.09 25 0
309755 안드로이드 개발자를 못구한다면!!! [5] 엽기토깽이갤로그로 이동합니다. 12.04.09 154 0
309752 횽들 질문 하나만 할게 통통만두갤로그로 이동합니다. 12.04.09 25 0
309750 근데 자녀 학자금 대주는 회사가 얼마나 있어? [3] xxx(61.74) 12.04.09 68 0
309748 엔씨 떳구나 ㅋㅋ [2] [성대아싸]갤로그로 이동합니다. 12.04.09 157 0
309745 횽들 하나만 더 질문좀 ㅇㅇ GangMae갤로그로 이동합니다. 12.04.09 46 0
309743 자바 스크립트는 꼭해야함? [4] GangMae갤로그로 이동합니다. 12.04.09 126 1
309742 형들 한달에 500씩 받으면 그돈으로 뭐해?? [14] 자바초보(122.36) 12.04.09 283 1
309740 C언어에서 이런거 가능하나? [2] 고독의숲갤로그로 이동합니다. 12.04.09 70 0
309739 숫자의 숫자수 세기 과젠데 도움!(수정) [4] ZeDA갤로그로 이동합니다. 12.04.09 94 0
309737 윈도우에서 c 컴파일해서 돌릴때 화면 어떻게 멈춤? [2] ㅇㅇ(59.18) 12.04.09 70 0
309736 초 간단한 질문 [1] 미클갤로그로 이동합니다. 12.04.09 63 0
309735 형들 없어진게임 클라이언트만으로 싱글이나 프리섭 만들수있어? [3] ㅅㅇ(183.96) 12.04.09 116 0
309733 야.. 이 젖뉴비 꼬고마 색히들아 어릴때 많이 배워둬라 [3] 실무자횽(211.108) 12.04.09 175 0
309732 그럼 질문수정 학교에서 아싸면 대학안가도되지? [4] Lincredible갤로그로 이동합니다. 12.04.09 87 0
309730 아침을 여는 입갤. 빌어먹을야옹갤로그로 이동합니다. 12.04.09 32 0
309729 근데 소프트웨어 엔지니어 되는데 꼭 대학 나와야함? [3] Lincredible갤로그로 이동합니다. 12.04.09 136 0
309727 플갤에 인사글 투척하고 갑니다. [2] muzikus7(1.231) 12.04.09 51 0
309724 고려대 사이버국방학과;;;;; [4] 유니크감성돔(110.70) 12.04.09 821 1
309723 directx 공부하고있는데 질문점할게 게이들아 [6] 잉여(117.16) 12.04.09 55 0
309722 망할 vb 유니크감성돔(110.70) 12.04.09 42 1
309721 과제빢시당 [3] 김멋져갤로그로 이동합니다. 12.04.09 53 0
309720 야호! 드디어 완성 [3] cyber갤로그로 이동합니다. 12.04.09 79 0
309719 대답이 읍서.. [4] 김멋져갤로그로 이동합니다. 12.04.09 58 0
309718 고정닉 슬쩍 장착해도되겄는가 김멋져갤로그로 이동합니다. 12.04.09 21 0
309717 있능가 김멋져갤로그로 이동합니다. 12.04.09 19 0
309716 지금보니 이번학기에 참 대단한 수업을 들었다 [1] 땡칠도사갤로그로 이동합니다. 12.04.09 92 0
309715 html 파싱 몇번해보니까 존나쉽네 ㅎㅎ [11] cyber갤로그로 이동합니다. 12.04.09 171 0
309713 얘들아 좋은 방법 없을까? 알고리즘.. [11] 니 코 가 뭐갤로그로 이동합니다. 12.04.09 122 0
309711 지금 21살인데 지금부터 시작해도 geek 될 수 있음 ? [5] Lincredible갤로그로 이동합니다. 12.04.09 157 0
309709 자라 정수정•‿•갤로그로 이동합니다. 12.04.09 42 0
309708 node.js 스케일이... [3] SODMaster갤로그로 이동합니다. 12.04.09 75 0
309707 월요일 ㅇㅇ(210.113) 12.04.09 28 0
309706 c++에서 연결리스트에 있는 내용을 리셋하려면 어떻게 해야되나요?? [5] 으로(121.187) 12.04.08 47 0
309705 프로그래머 한다는인간들이 나중에 샐러리맨될듯 [1] 캐릭갤로그로 이동합니다. 12.04.08 98 0
309704 php 질문 으잉(220.68) 12.04.08 33 0
309702 근데 니들 나중에 니네 자식이 프로그래머 한다고 하면.. [3] ㅁㄴ갤로그로 이동합니다. 12.04.08 149 0
309701 대학교에서 c언어 수업듣는데 졸 재밌음 전과할까? [2] Lincredible갤로그로 이동합니다. 12.04.08 128 0
309700 아존나멘붕됨 3D모델...언젠간될라나? [1] DontMeddle갤로그로 이동합니다. 12.04.08 49 0
309699 WPF하고 콘솔창 동시에 돌리는법 아는횽 있음? [1] 마타버터갤로그로 이동합니다. 12.04.08 45 0
309698 아 커플 시발들 [2] 나리링갤로그로 이동합니다. 12.04.08 119 0
309697 node.js에서 자식 프로세스를 만들면 [5] Rei@디씨갤로그로 이동합니다. 12.04.08 86 0
309696 형아들 제가 난 정말 java를 공부한적 없다구요!! 로 공부중인데요 [1] 울창숲(218.48) 12.04.08 110 0
309695 흉들아 ..... 버추얼박스에 우분투 깔았는데 [2] ㅋㅋㅋ(211.117) 12.04.08 54 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2