c언어 결과 오류 뜬거 올린다

수식 트리.png


오류.png


#include <stdio.h>

#include <stdlib.h>

#include <memory.h>


void preorder(char atree[], int i)

{

if(atree[i]!= '\0'|| i < 16){

printf("%c",atree[i]);

preorder(atree,i*2);

preorder(atree, i*2+1);

}

}


void inorder(char atree[],int i)

{

if(atree[i]!='\0'|| i < 16){

inorder(atree,i*2);

printf("%c",atree[i]);

inorder(atree,i*2+1);

}

}


void postorder(char atree[], int i)

{

if(atree[i]!= '\0'|| i < 16){

postorder(atree,i*2);

postorder(atree,i*2+1);

printf("%c",atree[i]);

}

}


void main()

{

char ArrayTree[16]={0,'A','3','*','2','B','4','-','1','C','6','/','5','D','7',0};


printf("\n preorder : ");

preorder(ArrayTree, 1);


printf ("\n inorder :");

inorder(ArrayTree, 1);


printf("\n postorder: ");

postorder(ArrayTree, 1);


getchar();

}


바꿔줘도 저래 뜬다 ㅠ

22개의 댓글

2017.12.07
if(atree[i]!= '\0'&& i < 16) 이걸로 바꿔봐
@지나가던놈
재 배열안에 널값이 없음
2017.12.07
https://pastebin.com/SmDtYA4D
2017.12.07
조건문이 or이 아니고 and 조건일걸
2017.12.07
@눈팅용
많이 다름?
2017.12.07
배열 요소 순서를 왜 저렇게 한거?
2017.12.07
@tonystark
숫자랑 영어랑 다 넣어야 16개 나오더라고...
2017.12.07
@tonystark
첫번째 사진 그림에 있는거 숫자랑 영어 다 넣어야 하는거 아녔음?
2017.12.07
@잠이
저렇게 하지말고
char ArrayTree[16]={'-', '*', '/', 'A', 'B', 'C', 'D', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0' }

이렇게 해
2017.12.07
@tonystark
0번은 널 줘야댈걸?
2017.12.07
@라이딩
솔직히 0번 필요없는데

그냥 그림에 있는 숫자랑 배열 인덱스랑 똑같게 하려고 배열크기 16으로 하고 너말대로 0번에 널 주란 얘기같다
2017.12.07
@tonystark
필요있지 저렇게 하면 - 는 아예 표기수식에 안들어가잖아
2017.12.07
@라이딩
아 inorder(ArrayTree, 1)에서

1이 인자라서? 그렇네ㅇㅇ
문제낸 사람 취향이 독특한듯 근데 인덱스를 왜 1부터 함
2017.12.07
@tonystark
이진트리가 원래 1부터 시작해
child 계산하는 i*2가 i가 0에서 시작하면 i*2도 계속 0이니까
2017.12.07
@라이딩
그건 상관없어
0부터 시작하면

i번째 요소의 왼쪽 child는 2*i+1, 오른쪽 child는 2*i+2로 하면 돼
그냥 코드 짜기 나름
2017.12.07
@tonystark
으음 그렇게 하면 네말이 맞네
2017.12.07
@잠이
배열은 길이 15면 충분한데 16으로 준건 그냥 무시하고 2의n승 맞추려한건지 모르겠는데
2017.12.07
@잠이
1234567은 index를 말하는거지 값을 말하는게 아님
ArrayTree[1] = '-'
ArrayTree[2] = '*'
이런식으로 되어있는거지

일단 딴것보다 2진트리가 어떤건지 먼저 공부하는게 나을거같은데
2017.12.07
@라이딩
하습 그런거였냐;;
2017.12.07
@잠이
그렇게 하면
배열의 i번째 요소의
왼쪽 자식은 2*i+1, 오른쪽 자식은 2*i+2고
이것만 알면 코드짜기 쉬워져

윗댓 말대로 딴거말고
이진트리 자료구조부터 공부하는게 우선일듯함
나중에 링크드에서 피똥싼다ㅠ
2017.12.07
이건 변수와 어레이의 개념부터 다시 잡아야 하는건가...
번호 제목 글쓴이 추천 수 날짜 조회 수
공지 컴퓨터 / IT에 관련된 글을 올려주시기 바랍니다. 21 overflow 4 2016.08.22 15718
61722 거치대 추천좀해줭 탈백수 0 2017.12.07 39
61721 형들 테블릿피씨 질문할께 4 loststar 0 2017.12.07 102
61720 이제 이륙을 해도 됩니까 8 요시그란도시즌 0 2017.12.07 173
61719 시발 도움! 파워문제임 11 년째 히오스 중 0 2017.12.07 123
61718 이륙가능 !? 9 요시그란도시즌 0 2017.12.07 135
61717 [긴급/고장] 나좀 살려주. ㅜㅜ 영상 작업중에 이렇게 되었다... 18 곰형 0 2017.12.07 162
61716 g100s 고장 자주나는거야? 10 욘두는멋져 0 2017.12.07 143
61715 컴터를 팔게 되버려서 중고로 메이플용 노트북 사려고 한다 ... 3 답도없넹 0 2017.12.07 131
61714 Kt인터넷 쓰는사람 질문 1 범이님이시다 0 2017.12.07 72
61713 픽셀2 써본 게이 있음? 3 쿠오우앙 0 2017.12.07 75
61712 핸드폰 4년써서 교체할라하는데 추천좀 5 목탁치는목사 0 2017.12.07 106
61711 엘지는 노크온이 신의 한수임... 16 억장자 0 2017.12.07 313
61710 선생님들, 견적을 보고 있는데 이 둘중에 고민입니다 11 골아파덕 0 2017.12.07 105
61709 컴게이 형들 업글관련해서 물어볼게 있어 2 레오나 0 2017.12.07 67
61708 색상에....... 3 YoungUNI 0 2017.12.07 199
61707 V30 쓸만하냐 11 류승훈 0 2017.12.07 265
61706 윈10도 메인보드바뀌면 윈도 다시깔아야함? 16 완소구 0 2017.12.07 183
61705 사무용 노트북 추천해주세요 8 킴레몬 0 2017.12.07 123
c언어 결과 오류 뜬거 올린다 22 잠이 0 2017.12.07 215
61703 야 근데 보이드 착용감은 왤케 좋냐 5 위너디너치킨디너 0 2017.12.07 156
서버에 요청 중입니다. 잠시만 기다려 주십시오...