디시인사이드 갤러리

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

갤러리 본문 영역

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

용자형구함(61.41) 2012.04.01 18:53:18
조회 153 추천 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/11/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
309106 ㅋㅋ 콩찌갤로그로 이동합니다. 12.04.02 32 0
309104 근데 솔직히 화가나 미칠 지경이다.. [3] ㅇㅇ(58.102) 12.04.02 82 0
309103 글쓰기는 잘되나?? [2] 이문동쮸쮸바갤로그로 이동합니다. 12.04.02 49 0
309102 프로그래밍으로 2년넘게 밥먹고 있는데.. [2] ㅇㅇ(58.102) 12.04.02 136 0
309101 요새좀 무기력한듯 [1] 금고래갤로그로 이동합니다. 12.04.02 32 0
309100 20대 중반 중학교 수학도 재대로 모르는 놈 [4] 초잉여(106.103) 12.04.02 171 0
309097 한게임에서 만든 게임오븐 아는횽 있나여? [1] 332(222.121) 12.04.02 36 0
309094 static 질문 [16] ㅇㅇ(58.102) 12.04.02 127 0
309092 전자게이들 헬프 미쳤dot갤로그로 이동합니다. 12.04.02 53 0
309091 경영다니는 놈이 프갤에 와서 싸게 부려먹을라고 캤는데 넘어가면 안되져 [4] [성대아싸]갤로그로 이동합니다. 12.04.02 137 0
309090 구인사이트에 이력서올리고 먼저연락온곳은 대부분 비교적 안좋아?? [10] ㅁㅁㅁㅁ(110.70) 12.04.02 173 0
309088 액션 스크립트 좀 하시는 분 잡귀민갤로그로 이동합니다. 12.04.02 44 0
309087 아랫글을 보니.. [1] 빌어먹을야옹갤로그로 이동합니다. 12.04.02 37 0
309085 타이머를 만들려고 하는데요. [3] 인생(222.102) 12.04.02 71 0
309084 c++로 로또 프로그램을 만들려고 하는데... [3] 초보(117.123) 12.04.02 73 0
309083 주임이 기분이 안좋은갑다;;;;; [1] Html갤로그로 이동합니다. 12.04.02 72 0
309082 형들 왕초보인데 질문점.. 개초보(61.106) 12.04.02 40 0
309081 전번에 커뮤니티 만든다고 한 놈인데 [4] 찌부된초코빵갤로그로 이동합니다. 12.04.02 80 0
309077 형들 CRect의 개념좀 이해시켜줘 [3] 세달뒤면몸짱갤로그로 이동합니다. 12.04.02 87 0
309074 if문 질문있습니다. [2] 초잉여(106.103) 12.04.02 63 0
309071 MFC관련 뭐하나만 알려줘; [7] 모자란동생(61.109) 12.04.02 82 0
309070 WINAPI로 ReadWriteLock 만드는거 질문점... SODMaster갤로그로 이동합니다. 12.04.02 61 0
309069 네이버 백신 스마트 디펜서인가 짱나네.. ㅇㅇ(58.102) 12.04.02 72 0
309067 오랜만입니다 [1] +어게인갤로그로 이동합니다. 12.04.02 31 0
309066 군대가기전에 뭐할까.. [3] ㅁㄴㅇㅁㄴㅇ(182.214) 12.04.02 85 0
309065 하찮은 숙제말고 [2] 페고떼찌갤로그로 이동합니다. 12.04.02 112 0
309064 유니코드를 구분하기위해 앞에 1을 붙인다는게뭔말이에요? [1] ●알콩이갤로그로 이동합니다. 12.04.02 73 0
309063 이거 책이 설명이 잘못된거에요?(java) [3] ●알콩이갤로그로 이동합니다. 12.04.02 74 0
309062 재귀함수로 팩토리얼값 구하는 프로그램.. [6] ㅇㅁ(114.199) 12.04.02 128 0
309061 자바 공부하는데 실수형 상수 이해안가는것 [2] ●알콩이갤로그로 이동합니다. 12.04.02 149 0
309060 자바의 syncronized wait notifyAll 처럼... SODMaster갤로그로 이동합니다. 12.04.02 97 0
309059 원래 소스는 즉흥적으로 짜는거에요? [18] ㅇㅁ(114.199) 12.04.02 217 0
309058 아 안드로이드존나 환경구축하기 스트레스바든ㄴ다 ㅡㅡ [3] 니 코 가 뭐갤로그로 이동합니다. 12.04.02 68 0
309057 형들 과제하는데 질문좀ㅠㅠ [2] 나가사키짱깨갤로그로 이동합니다. 12.04.02 41 0
309056 지역변수 질문 [11] ㅇㅁ(114.199) 12.04.02 68 0
309055 형들 나 과제 인데 급해 ㅠㅠ 개촙 .. .ㅠ [8] domangza갤로그로 이동합니다. 12.04.02 96 0
309053 지역변수 가리움 적용 질문 [1] ㅇㅁ(114.199) 12.04.02 44 0
309052 아 미치곘음 2차원 배열ㅋㅋㅋㅋ 프밍좆뉴비(211.44) 12.04.02 144 0
309051 다차원배열 질문 하나만 할꼐 형들 [2] 프밍좆뉴비(211.44) 12.04.02 47 0
309050 형들 C++ 에 관한건데 질문 받아주면 감사할께 [3] ㅂㅁㅋ(175.210) 12.04.02 46 0
309049 SQL 2008 늅늅 질문이여 [1] 얌얌(112.158) 12.04.02 27 0
309048 실력과 취업은 꼭 비례하지는 않나보다 [10] 전간디갤로그로 이동합니다. 12.04.02 284 0
309047 현직자 질문!!! 알바놈아 왜지우냐? [5] 나나(211.177) 12.04.02 111 0
309046 C언어] 내가 쓰는 MS2010 좀 이상한것같음 12(59.12) 12.04.02 50 0
309044 야씨발 android sdk 원래 이렇게 느리나..? [2] 니 코 가 뭐갤로그로 이동합니다. 12.04.02 51 0
309042 ㅡㅡ [1] 들럿갤로그로 이동합니다. 12.04.02 25 0
309041 수박 흰부분 맛없지앟ㄴ냐 [2] 니 코 가 뭐갤로그로 이동합니다. 12.04.02 55 0
309040 레노미나 고마움 [1] 니 코 가 뭐갤로그로 이동합니다. 12.04.02 45 0
309038 플밍 초보가 형님들께 질문올립니다 [9] 벵굼벵이붕갤로그로 이동합니다. 12.04.01 101 0
309037 왜 어떤 메뉴는 이미지로 잡히고 어떤 메뉴는 이미지가 아니야? [6] 스쿠터(210.106) 12.04.01 60 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2