playXP

서브 메뉴

Page. 1 / 12504 [내 메뉴에 추가]
글쓰기
작성자 아이콘 얼음덕후노메
작성일 2013-01-06 20:27:11 KST 조회 190
제목
오랜만에 돌아오자마자 C++ 질문좀 함

문제는 굉장히 간단함

 

괄호를 앞에서부터 <E#>으로 해서 표현해야하는데 그러니까

 

(a 1 2 (b 3 (+ 4 cx2) 5) 6 (7 8))라고 입력하면


<E1> => (a 1 2 <E2> 6 <E4>)
<E2> => (b 3 <E3> 5)
<E3> => (+ 4 cx2)
<E4> => (7 8)

이렇게 출력이 되어야 함

 

일단 이거 입력을 어케 해야하는지 모르겠음.

 

그동안 보통 array나 그런거 이용해서 문장 가튼거 받아봤지만 이런건 첨.

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 GLaDOS (2013-01-06 20:30:45 KST)
0↑ ↓0
센스 이미지
String Parsing 과제 같네요...

여기 써있는 대로라면 괄호를 기준으로 끊어주기만 하면 되는 간단한 문제 같은데

일단 한줄에 다받고 파서로 분리를 하는게 편하겠죠
아이콘 적당새 (2013-01-06 20:31:07 KST)
0↑ ↓0
센스 이미지
그러게요
아이콘 얼음덕후노메 (2013-01-06 20:33:03 KST)
0↑ ↓0
센스 이미지
ㄴ설리 ㄴㄴ해..
아이콘 얼음덕후노메 (2013-01-06 20:36:39 KST)
0↑ ↓0
센스 이미지
GLaDOS // 좀더 자세히 설명해주실 수 있을까요 프로그래밍 한학기 쉬었더니 좀 많이 까먹었네요 ㅠ
Kirnot (2013-01-06 20:37:43 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
자료구조 뭐 쓰면 될거같은데 이진트리였나 스택이었나
아이콘 얼칸돌이 (2013-01-06 20:46:04 KST)
0↑ ↓0
센스 이미지
이 사람들 무서운데 ㄷㄷㄷㄷ
Kirnot (2013-01-06 20:52:02 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
(a 1 2 (b 3 (+ 4 cx2) => (a 1 2 (b 3 <E3>
(a 1 2 (b 3 <E3> 5) => (a 1 2 <E2>
(a 1 2 <E2> 6 (7 8) => (a 1 2 <E2> 6 <E4>
(a 1 2 <E2> 6 <E4>) => <E1>

이런 식으로 하면 되지 않을까요 스택 구조로 한다음에
( 순서만 잡아주면
아이콘 얼음덕후노메 (2013-01-06 20:55:07 KST)
0↑ ↓0
센스 이미지
코드 조금만 쓰면서 알려주세요 ㄷ;;;
Kirnot (2013-01-06 21:07:48 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
char array[] = (a 1 2 (b 3 (+ 4 cx2) 5) 6 (7 8))
char E1[20], E2[20], E3[20], E4[20];

int Ecount = 0;

for(i=0; i<sizeof(array); i++){
 if(array[i] == '(') Ecount++;
 else if(array[i] == ')') GetEseries();
 else Stackin(array);
}

int GetEseries(){
 int i;
 char temp;
 if(Ecount == 1){
  while(1){
  temp = StackOut()
  E1[20-i] = temp;
  if(temp == '(') break;
  Ecount--;
 if(Ecount == 2){ ...

이런느낌으로 하면 될려나
스택 구현은 생략
Kirnot (2013-01-06 21:14:15 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
아 잘 모르겠음 죄송... 괜히깝침...
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.