게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[C언어] 예제에서 요구하는 범위를 잘 모르겠을 때
게시물ID : programmer_15279짧은주소 복사하기
작성자 : HyunLyang
추천 : 0
조회수 : 906회
댓글수 : 3개
등록시간 : 2016/01/03 01:56:59
옵션
  • 본인삭제금지
  • 외부펌금지
안녕하세요,

The C programming language S/E로 C언어를 독학하고 있습니다.


예제를 풀다보니 '각 단어의 빈도수를 수직방향으로 출력하는 히스토그램을 만들어라' 와 같은 식의 예제가 있더군요.

이걸 어떻게 풀어야 하나 고민하다 단어의 길이가 10 이하인 것들 중에서 빈도를 출력하는걸로 임의로 범위를 한정시켜서 프로그램을 짰습니다.



위 예제의 경우 튜토리얼에 있는 거라서 튜토리얼 안에서 다룬 내용으로 풀 수 있어야 맞는 것 같은데 그냥 임의대로 저렇게 제한을 걸고 풀어도 상관 없는걸까요? 입력된 단어들의 길이를 체크해서 단어 길이별로 빈도수를 저장할 배열을 생성해주는 함수를 만들면 단어의 길이를 제한하지 않고도 만들 수는 있을 것 같은데 함수를 만드는 방법은 튜토리얼 뒷 부분에 있는 상황입니다. 아직까지는 다룬 내용을 이용해서 짤 수 있는 예제들이었는데 이건 잘 모르겠습니다.

사실 영어 단어가 가장 길어봐야 40 몇자라니까 0~40까지 값이 있든 없든 출력해버리게 만드는 방법도 있을 것 같은데 이건 뭔가 스마트(?)하지 않은 방법인 것 같아서 패스했습니다.(논리상 10까지 만드나 40까지 만드나 큰 차이가 없는 것 같아서요)

지금 같은 상황이, 풀 수 있는데 그냥 포기하는 것 vs 이 정도는 적당히 하고 넘어가도 되는 것 중에 어디에 해당하는지 궁금합니다. 처음으로 프로그래밍 언어를 독학하다보니 이정도는 넘어가도 된다는 식으로 대충 때우게 될까봐 걱정이 되네요.



답변에 도움이 되실지는 모르겠는데 제가 짠 코드도 첨부해보겠습니다.

https://github.com/diozelux/worknote/blob/master/E1-13v.c


- 길이가 0~10인 단어의 빈도수를 저장할 배열을 만들고, 이 배열에 저장된 빈도수의 최댓값을 찾아 max에 저장.
- max의 값이 배열에 저장된 빈도수 값보다 작거나 같을 때 **이 출력되도록 해서 수직방향으로 히스토그램을 출력하게 되어 있습니다.(**인 이유는 %2d로 자릿수를 2자리로 통일시켜서 조금이라도 보기 좋게 하려고 이렇게 했습니다. 완전 막대처럼 깔끔하게 출력되기 하는 방법을 몰라서 **로.. putchar()를 이용해서 ASCII 코드를 넣어볼까도 했는데 귀찮아서 그냥 **로 넘어가기로 했습니다.)
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호