검색어 입력폼

선형 리스트를 사용한 다항식의 덧셈 연산

저작시기 2006.03 | 등록일 2007.12.24 한글파일 한컴오피스 (hwp) | 5페이지 | 가격 1,500원

소개글

// 선형 리스트를 사용한 다항식의 덧셈 연산
// 실행환경 : win-xp, 512MB RAM, P4 2.01GHz
// 사용언어 : VC++ Win32 Console

#include "stdafx.h"
typedef struct polynode{ //POLY구조체정의
int coef; //coef, exp = 가수, 지수
int exp;
struct polynode* next; //next 다음 리스트(POLY구조체)를 가리킴
} POLY; //구조체 이름

POLY* append(POLY*, int, int); //함수 및 프로시져 선언
void writelist(POLY*);
POLY* padd(POLY* a,POLY* b);
char compare(int, int);
void attack(int, int, POLY**);
int _tmain(int argc, _TCHAR* argv[]) //메인 진입 점
{
POLY* a=0, *b=0, *c=0; //POLY구조체를 가리키는 POLY구조체 변수 a, b, c
int coef, exp; //coef, exp = 가수, 지수(가수와 지수 값은 쓰레기값)

scanf("%d %d", &coef, &exp); //사용자로 부터 가수와 지수를 입력받음
while(coef!=0){ //입력받은 가수가 0이면 루프 종료
a = append(a, coef, exp); // a 리스트에 가수와 지수를 추가함 - 다항식을 추가
scanf("%d %d", &coef, &exp); //새로운 다항식 입력받음
}

목차

없음

본문내용

// 선형 리스트를 사용한 다항식의 덧셈 연산
// 실행환경 : win-xp, 512MB RAM, P4 2.01GHz
// 사용언어 : VC++ Win32 Console

#include "stdafx.h"
typedef struct polynode{ //POLY구조체정의
int coef; //coef, exp = 가수, 지수
int exp;
struct polynode* next; //next 다음 리스트(POLY구조체)를 가리킴
} POLY; //구조체 이름

POLY* append(POLY*, int, int); //함수 및 프로시져 선언
void writelist(POLY*);
POLY* padd(POLY* a,POLY* b);
char compare(int, int);
void attack(int, int, POLY**);
int _tmain(int argc, _TCHAR* argv[]) //메인 진입 점
{
POLY* a=0, *b=0, *c=0; //POLY구조체를 가리키는 POLY구조체 변수 a, b, c
int coef, exp; //coef, exp = 가수, 지수(가수와 지수 값은 쓰레기값)

scanf("%d %d", &coef, &exp); //사용자로 부터 가수와 지수를 입력받음
while(coef!=0){ //입력받은 가수가 0이면 루프 종료
a = append(a, coef, exp); // a 리스트에 가수와 지수를 추가함 - 다항식을 추가
scanf("%d %d", &coef, &exp); //새로운 다항식 입력받음
}

scanf("%d %d", &coef, &exp); //사용자로 부터 가수와 지수를 입력받음
while(coef!=0){ //입력받은 가수가 0이면 루프 종료
b = append(b, coef, exp); // b 리스트에 가수와 지수를 추가함 - 다항식을 추가
scanf("%d %d", &coef, &exp); //새로운 다항식 입력받음
}

writelist(a); //a 리스트 출력
writelist(b); //b 리스트 출력
c = padd(a,b); //a+b를 수행하는 함수 호출
writelist(c); //c 리스트 출력
scanf("%d",&exp); //화면을 보여 주고 종료하기 위해 사용

return 0; //종료
}

void attack(int c, int e, POLY** d){ //노드를 추가
POLY* x;
x = (POLY*)malloc(sizeof(POLY)); //POLY크기 만큼의 메모리를 생성하고 x가 가리킴
x->coef = c; //새로생성한 노드 x에 가수, 지수 값을 입력
x->exp = e;
(*d)->next = x; //기존의 리스트가 새로생성한 x노드를 가리킴
*d = x; //새로생성한 노드를 현재 인덱스로 함
}

참고 자료

없음
다운로드 맨위로