연결 자료 리스트에 대해..오류 때문에요
흰우유
질문 내용 : 문제는 단순 연결 리스트로 만들어진 다항식 A(다항식의 차수, 내림차순으로 계수들 -런 형식 저장 예를들면 4 3 0 5 1 이면 3x^4 + 5x^2 + 1)을 만들고
또 mulpoly(A,c,e) 라는 함수를 만들고 이 함수는 A라는 다항식과 다른 다항식의 c(계수) e (지수)를 곱한 값을 반환 하 는 함수를 짠후 addpoly 라는 함수를 만들어서 다 더해서 같은거 처리해주는게 문젠데..
여기서 질문은 아래 코드는 파일에서 계수를 받고 계수가 0이면 지수에도 0을 넣어 주게끔 만들었습니다(연결 자료 리스트 A에)
근데 이상하게 계수가 0일때 0을 넣게 해놨는데 쓰래기 값도 아닌 이상한 정수가 나오네요?;;왜그런지 좀 알려주세요, 그리고 연결 자료리스트 저렇게 짜도 될까요? 제가 처음 짜봐서..
#includestdio.h
#includestdlib.h
typedef struct Listnode{
float coef;
int expo;
struct Listnode *next;
}listnode;
typedef struct Headnode{
listnode *head;
}headnode;
headnode* createheadnode(void)
{
headnode *L;
L=(headnode*)malloc(sizeof(headnode));
L-head=NULL;
return L;
}
listnode* getnode(headnode *a)
{
listnode *newnode;
listnode *p;
newnode=(listnode*)malloc(sizeof(listnode));
p=(listnode*)malloc(sizeof(listnode));
newnode-next=NULL;
if(a-head==NULL)
{
a-head=newnode;
}
p-next=a-head;
while(p-next=NULL) p=p-next;
p-next=NULL;
return newnode;
}
void freeall(headnode *H)
{
listnode *p;
while(H-head!=NULL)
{
p=H-head;
H-head=H-head-next;
free(p);
p=NULL;
}
}
void main()
{
int i,j;
int poly,copiedpoly;
headnode *H;
listnode *A;
FILE *fp;
//--------잠시 저장용-------//
fp=fopen(test.dat,wb);
fputs(5 4 3 0 1 3 0,fp);
fclose(fp);
//----------Headnode 생성-----------//
H=createheadnode();
fp=fopen(test.dat,rb);fscanf(fp,%d,&poly);
for(i=0; ipoly+1; i++)
{
A=getnode(H);
}
copiedpoly=poly; //밑에 포문에서 뺄셈때매 폴리가 바껴서 복사해놈
for(i=0; ipoly+1; i++)
{
fscanf(fp,%f,&A[i].coef);
}
for(i=0; ipoly+1; i++)
{
if(A[i].coef==0){
A[i].expo=0; //계수가 0인항, 한마디로 존재 하지 않는 곳엔 차수에 0 들어가있음 (이 부분이 이상하게 나옴)
copiedpoly-=1;
}
else
{
A[i].expo=copiedpoly; // 계수를 하나씩 떨어뜨리면서 그걸 expo에 넣어줌
copiedpoly-=1;
}
}
for(i=0; ipoly+1; i++) //차수 +1 개 만큼 해야 다 출력
{
printf(expo[%d] 는 %d\n,i,A[i].expo);
printf(coef[%d] 는 %f\n,i,A[i].coef);
}freeall(H);}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695707 | 3의 배수 나타내기. (2) | 수리 | 2025-05-23 |
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |
2694958 | 로직이 변한다는 것에 대해서 궁금합니다. | 튼동 | 2025-05-16 |