|
제 질문이 좀 ...잘못된건지..아무두 답을 안주시네요 ㅜ.ㅜ;;
다시 한번 올림니당
밑에 제가 질문한거 지우구 다시 질문을..드려여..
사실 제가 써노쿠두..두서업이 설명을 했더라구여...^^
제가 스스로 조금 짜봤는데 continue break 같은것들을 많이 써선지..
오류도 많이 나구 디벅도잘 안되구..오류 수정하더라도 소스 해석해보니
어설픈 결과들만 나오는..죽겠어여 흑흑 ㅜ.ㅜ
한 문자씩 입력받아 문자 단위 처리하여 결과 출력하는건데여..조건은...
1)'{'와'}'문자가 나올때 까지 입력받는문자가 '}'이전에 몇개였는지출력..(예전에 프린트 했던 문잘는 다시 프린트 안한다-->특히 이부분에서 막혀여..)
2)최종적으루 출력은 '{'의 갯수와 '}' 의 갯수가 같아지면 출력을하는거에용
간단한 예로는
aasssddd{ 엔터치고..
asda} 엔터 치믄 //여기까지가 입력이겠죵
출력값이 //여기부분을 밑에 #include~main()~이라고
//한거는 의미없는 단순한입력문자들이랍니다
-----------------------------------------------------------------------------------
a=2개 s=3개 d=3개 (a는 앞에서 출력했으니 프린트 안함!) //여기출력
대강 이런건데여 좀더 심화 시키믄 공백문자 ' '와 특수문자들을 처리하는...게..밑에..
먼저 입력되는 거를 보면요 .. 참(엔터..)요고는 입력문자가 아니구 엔터 친다는거이구여
밑에 main() { 에서 첨으루 '{' 이 나오는데 그이후 나오는 문자와 같은 게 { 이전에 몇개
있는지..프린트.. 하는게 ----이 표시 밑에 나왔어여...
//여기입력화일은 소스가 아니고
#include <stdio.h> //(엔터...) 그냥 입력값,입력문자라고 보심되여
main() { //(엔터...) 여기 있는 문자를 하나 하나 받아서
int ch, chnt = 0; //(엔터...)
//(엔터...)
if(ch !=0) { ch = 0; } //(엔터...) 밑쪽 소스 (실행 예) 와같이 출력을 얻고자 하거든여
while( ch++ < 10 ) { //(엔터...)
chnt = ch + chnt; //(엔터...)
} //(엔터...)
printf("{chnt = (ch) * 10}\n"); //(엔터...)
} //(엔터...) '{'와'}' 을 세보시면 갯수가 처음으루
// 같아져서 이부분에서 입력값이 종료되여
// 그래서 출력값은 밑에...
//이것을 입력받아서여..
-----------------------------------------------------------------------------------------
실행 예)
c:\> program <test.c
->>>>>출력시작
(엔터...):1번
i : 3개 n : 2개 t : 1개 blank(' '): 2개 c : 1개 h : 1개 , : 0개 = : 0개 0 : 0개 ; : 0개
f : 0개 ! = 0개 { : 1개
(엔터...):2번
c : 2개 h : 3개 n : 2개 t : 1개 blank(' ') : 10개 = : 0개 + : 2개
c : 2개 h : 3개 n : 3개 t : 2개 blank : 14개 = : 0개 ( : 2개 ) : 2개
* : 0개 1 : 1개 0 : 1개
전체문자의 수:1xx개, 라인수:10
<<<<<-끝
'{'와 '}'의 갯수가 같지 않은 상태...즉 {~~{~~{~~~ }~~ 이런 상태중간{는 조건이 아닌 문자로만 인식을...
이러한 출력을 얻는건데여.. 중요한건 입력문자'{{{{} 이런구조일 경우에 중간에 있는{{는 그냥 입력문자로만 보구 어떤 조건을 만들지 않아여...처음'{' 와 첨으루나오는'}' 문자일경우 조건을달죠
정말이지... 고수분들의 조언없이는 죽겠습니다..ㅜ.ㅜ
|