디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

간단한 주석달아서 다시 질문드려요

꾸닥(211.41) 2010.10.02 00:35:04
조회 85 추천 0 댓글 4

Q) 입력된 단어의 길이에 대한 히스토그램 작성

#include <stdio.h>


#define MAXWORDLEN 10

int main(void)
{
  int c;
  int inspace = 0;                                   //공백중복방지
  long lengtharr[MAXWORDLEN + 1];                                                                
  int wordlen = 0;                                   //문자수길이

  int firstletter = 1;                                   //????
  long thisval = 0;                                     //히스토그램 Y축
  long maxval = 0;                                    //히스토그램 Y축
  int thisidx = 0;                                   //for문
  int done = 0;                                   //while문

  for(thisidx = 0; thisidx <= MAXWORDLEN; thisidx++)
  {
    lengtharr[thisidx] = 0;                                   //배열 초기화
  }

  while(done == 0)
  {
    c = getchar();

    if(c == \' \' || c == \'\\t\' || c == \'\\n\' || c == EOF)                                   //입력받은문자가 공백또는 EOF일시
    {
      if(inspace == 0)
      {
        firstletter = 0;
        inspace = 1;                                   //연속된 공백시 if문 진입을 방지

        if(wordlen <= MAXWORDLEN)                                   //if문 들어오기전에 증가된 wordlen의 값 <=10이하일시
        {
          if(wordlen > 0)
          {
            thisval = ++lengtharr[wordlen - 1];                                   // 증가
            if(thisval > maxval)
            {
              maxval = thisval;                                   //maxval =후에 그래프표기시 최대y축값
            }
          }
        }
        else                                   //if문 들어오기전에 증가된 wordlen의 값 10초과시
        {
          thisval = ++lengtharr[MAXWORDLEN];
          if(thisval > maxval)
          {
            maxval = thisval;                                   //이하 반복
          }
        }
      }
      if(c == EOF)
      {
        done = 1;
      }
    }
    else
    {
      if(inspace == 1 || firstletter == 1)
      {
        wordlen = 0;
        firstletter = 0;
        inspace = 0;
      }
      ++wordlen;                                   //루프반복될수록 문자수값 증가
    }
  }

  for(thisval = maxval; thisval > 0; thisval--)                                   //그래프표기
  {
    printf("%4d  | ", thisval);
    for(thisidx = 0; thisidx <= MAXWORDLEN; thisidx++)
    {
      if(lengtharr[thisidx] >= thisval)
      {
        printf("*  ");
      }
      else
      {
        printf("   ");
      }
    }
    printf("\\n");
  }
  printf("      +");
  for(thisidx = 0; thisidx <= MAXWORDLEN; thisidx++)
  {
    printf("---");
  }
  printf("\\n       ");
  for(thisidx = 0; thisidx < MAXWORDLEN; thisidx++)
  {
    printf("%2d ", thisidx + 1);
  }
  printf(">%d\\n", MAXWORDLEN);

  return 0;
}

//출력값 

  44  | *      *                       
  43  | *      *  *        *             
  42  | *  *  *  *        *             
  41  | *  *  *  *        *             
  40  | *  *  *  *        *             
  39  | *  *  *  *        *             
  38  | *  *  *  *        *             
  37  | *  *  *  *        *             
  36  | *  *  *  *        *             
  35  | *  *  *  *        *             
  34  | *  *  *  *        *             
  33  | *  *  *  *        *             
  32  | *  *  *  *        *             
  31  | *  *  *  *        *             
  30  | *  *  *  *        *           * 
  29  | *  *  *  *        *           * 
  28  | *  *  *  *  *     *           * 
  27  | *  *  *  *  *     *           * 
  26  | *  *  *  *  *     *           * 
  25  | *  *  *  *  *  *  *           * 
  24  | *  *  *  *  *  *  *           * 
  23  | *  *  *  *  *  *  *           * 
  22  | *  *  *  *  *  *  *        *  * 
  21  | *  *  *  *  *  *  *        *  * 
  20  | *  *  *  *  *  *  *        *  * 
  19  | *  *  *  *  *  *  *        *  * 
  18  | *  *  *  *  *  *  *        *  * 
  17  | *  *  *  *  *  *  *        *  * 
  16  | *  *  *  *  *  *  *        *  * 
  15  | *  *  *  *  *  *  *        *  * 
  14  | *  *  *  *  *  *  *  *     *  * 
  13  | *  *  *  *  *  *  *  *     *  * 
  12  | *  *  *  *  *  *  *  *     *  * 
  11  | *  *  *  *  *  *  *  *     *  * 
  10  | *  *  *  *  *  *  *  *     *  * 
   9  | *  *  *  *  *  *  *  *  *  *  * 
   8  | *  *  *  *  *  *  *  *  *  *  * 
   7  | *  *  *  *  *  *  *  *  *  *  * 
   6  | *  *  *  *  *  *  *  *  *  *  * 
   5  | *  *  *  *  *  *  *  *  *  *  * 
   4  | *  *  *  *  *  *  *  *  *  *  * 
   3  | *  *  *  *  *  *  *  *  *  *  * 
   2  | *  *  *  *  *  *  *  *  *  *  * 
   1  | *  *  *  *  *  *  *  *  *  *  * 
      +---------------------------------
        1  2  3  4  5  6  7  8  9 10 >10


C플그램언어 책 1-13번문젠데 "문자길이 사용빈도를 히스토그램으로 나타내시오"

개인적으로 짜보고 난다음에 해답부분도 하나하나 그려가면서 해석해보고있는데

fristletter란 변수가 무엇에 의해 필요한지 해석을 못하고있음..ㅠㅠ;;

컴파일돌려가면서 있고없고의 차이도 모르겟고 ㅠ 은근히 찜찜해서

되게 간단한 이유같은데 뭔지모르겟음;;

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
222972 winapi 할 줄 아시는 분 댓글 좀 달아주세요. [4] 컴돌이(58.77) 10.12.07 86 0
222971 HTML5 에 걱정되는 한가지. [12] 한마음택배갤로그로 이동합니다. 10.12.07 147 0
222970 c++ 파일처리or파일다루기 마지막 질문좀여... [2] 어린화공갤로그로 이동합니다. 10.12.07 75 0
222969 밥먹구 히프해야징~~ [5] 유리한추종자(118.91) 10.12.07 85 0
222967 자바개발자 "먼데이코리아 채용확정교육"[가온아이티/자바개발자] [2] 봄바람살랑갤로그로 이동합니다. 10.12.07 156 0
222964 우선순위 큐 에러 질문 좀 드립니다 [3] 학교에서뭘배(175.112) 10.12.07 77 0
222963 메시지 데드락에 관한 질문(wjnapi)..ㅜㅜ 컴돌이(58.77) 10.12.07 47 0
222962 java 늅늅아 111(218.55) 10.12.07 41 0
222961 HTML php좀 하는횽들 있어? [6] php(118.36) 10.12.07 114 0
222958 아그러면 private BufferedImage bi = null; 이건 [14] Java늅늅E(218.154) 10.12.07 87 0
222955 장은성 마음도 이해가 된다 [12] 세브(211.117) 10.12.07 199 0
222951 형님들 완전 개초보가 c언어 질문좀 드릴게요 [7] ㅇㅁ(119.206) 10.12.07 89 0
222950 Java에서 BufferedImage,ArrayList 변수가 나오는데 [4] Java늅늅E(218.154) 10.12.07 88 0
222949 c++ 질문 다시 정확하게 드립니다. [8] 어린화공갤로그로 이동합니다. 10.12.07 125 0
222946 9급공무원합격 후 7급준비하고 vs웹프로그래머or겜프로그래머 준비하기 [16] 알딸딸(121.171) 10.12.07 320 0
222945 어디갔쑤 onepare [4] 장은성(220.121) 10.12.07 93 0
222944 c++ 질문좀여!!! [11] 어린화공갤로그로 이동합니다. 10.12.07 154 0
222943 이쯤에서 쉬어가는 박영진의 얘쁜이 디스 111(218.55) 10.12.07 853 0
222942 ㅇㅇㅃ 언니 미워미워! [9] 세브(211.117) 10.12.07 148 0
222941 스킴 빠는글 [12] fp빠돌이갤로그로 이동합니다. 10.12.07 186 0
222940 카스퍼스키 살 때가 되었다. [1] 유리한갤로그로 이동합니다. 10.12.07 103 0
222939 메신져 로그인 했는데 친구찾기에 안나옴 장은성(220.121) 10.12.07 44 0
222932 멜주소가 확인 안된다며 로그인이 안되네요 장은성(220.121) 10.12.07 81 0
222931 나도 디횽보다 월등히 뛰어난게 있다 [3] 개쉛기갤로그로 이동합니다. 10.12.07 120 0
222930 여긴 프갤이라고! 순수한 사랑따위는 없어! [6] 디-(67.194) 10.12.07 163 0
222929 프겔이 흥해서 기뻐 [2] elwlwlwk갤로그로 이동합니다. 10.12.07 103 0
222927 프갤 병텐 폭발이네 [5] 디-(67.194) 10.12.07 122 0
222926 밑에님 모르셨나요? [1] 111(218.55) 10.12.07 52 0
222925 C#잘하시는분..사례해드릴게요.. [20] 부탁(121.177) 10.12.07 202 0
222923 아큐정전 [4] gisman갤로그로 이동합니다. 10.12.07 116 0
222920 내가 보기에 은성님은 학원을 먼저 다니셔야 할 듯 [11] 분당살람갤로그로 이동합니다. 10.12.07 296 0
222919 메신져 아직도 절반밖에 못깜 [4] 장은성(220.121) 10.12.07 113 0
222918 댓글이 삭제되고 있어 [10] 세브(211.117) 10.12.07 118 0
222917 순수사랑비판 [13] ㅇㅇㅃ갤로그로 이동합니다. 10.12.07 188 0
222915 그러고 보니 장씨 [9] elwlwlwk갤로그로 이동합니다. 10.12.07 108 0
222913 학교 도서관시스템 관계도 질문이요( db) 3 [10] 상숑갤로그로 이동합니다. 10.12.07 91 0
222912 용자 [3] 시불라미갤로그로 이동합니다. 10.12.07 79 0
222911 D- 횽 땡큐 해결함 [1] 베에(164.125) 10.12.07 56 0
222910 순수한 방랑을 하고싶다... [6] 개쉛기갤로그로 이동합니다. 10.12.07 120 0
222908 인터넷 동영상 키값있는거 다운 어떻게 받음? [1] 123(116.34) 10.12.07 43 0
222907 학교 도서관시스템 관계도 질문이요( db) 2 [4] 상숑갤로그로 이동합니다. 10.12.07 90 0
222905 장은성님아 [3] 할리의본링갤로그로 이동합니다. 10.12.07 80 0
222903 비베로 정다각형 그리기 소스구함 [4] 장은성(220.121) 10.12.07 135 0
222902 순수한 자랑을하구 싶당.. [1] 아주아슬갤로그로 이동합니다. 10.12.07 88 0
222899 형들 API 관련 질문요 [2] 랜징징갤로그로 이동합니다. 10.12.07 51 0
222897 넥서스s만드는거보면 [2] ㅇ.ㅇ(183.101) 10.12.07 71 0
222896 학교 도서관시스템 관계도 질문이요( db) [2] 상숑갤로그로 이동합니다. 10.12.07 90 0
222894 원래 장은성 같은 골수좌파놈들이 그렇다 [3] 찬양하라.NET갤로그로 이동합니다. 10.12.07 101 0
222893 시험공부.... [2] 이모군(1.225) 10.12.07 52 0
222892 윈도우api질문 [1] 컴돌이(58.77) 10.12.07 48 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2