디시인사이드 갤러리

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

갤러리 본문 영역

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

꾸닥(211.41) 2010.10.02 00:35:04
조회 93 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
346023 해커들이 비밀번호 뚫을때 [5] (175.115) 13.02.15 262 0
346021 게임 개발 커뮤니티 제일 활발한 곳이 어디에요? [5] ㅁㅁ(49.1) 13.02.15 182 0
346019 공대학생분들IT특기병준비방법궁금하신점 무료로상담해드립니다. [3] 김민섭팀장(211.48) 13.02.15 147 0
346018 아오 죽겠다 정말... [1] 자유로운영혼(123.142) 13.02.15 63 0
346016 공뭔전산직 준비하시는분들. 정보보호론 어떻게 공부하실 건가요? ka1zer갤로그로 이동합니다. 13.02.15 58 0
346014 리눅스는 어려우시다 ㅠㅠ [6] 나리링갤로그로 이동합니다. 13.02.15 137 0
346013 퇴사 1주일 전 [5] 자유로운영혼(123.142) 13.02.15 134 0
346009 쫌만알아도 아이디어랑 티이밍만 맞으면 돈벌수있다는대 트루임? [3] ㅂㅂ(122.128) 13.02.15 116 0
346007 점점 파다보니까 보안에 관심을 가지게 되던데... 나도 중2병임??? [11] ㅇㅇ(203.253) 13.02.15 226 0
346006 기존에 만들던 소스에 테이블 만드는거 귀찮아서 걍 갖다 붙이려는데 [4] 개구리래머갤로그로 이동합니다. 13.02.15 70 0
346005 pl/sql에서 delete all 와 clear 의 차의점? (도움!) 칰빠버프갤로그로 이동합니다. 13.02.15 62 0
346004 근데 프로그래머 테크 틀리지 않아 ? [1] ㅇㅇ(121.164) 13.02.15 151 0
346003 형들 근데 요새 이클립스 사이트에서 배포하는 이클립스 툴 있자나 [8] ㅁㄴㅇㄱ(220.76) 13.02.15 138 0
346001 프로그래머 기준좀 알려줘라. [11] 프로그래밍(121.164) 13.02.15 227 0
346000 프갤이 왜이렇게 됬음? Adelposs갤로그로 이동합니다. 13.02.15 45 0
345999 프갤이 왜이렇게 됬음? [4] Adelposs갤로그로 이동합니다. 13.02.15 113 0
345998 스마트폰이 리눅스라는 소린 뭔소리냐 ㅉㅉ [11] 빕뱟뱟갤로그로 이동합니다. 13.02.15 190 0
345997 이클립스 깔다가 오류났는데 win7이면 64bit 맞지 않음? [12] aa(121.140) 13.02.15 105 0
345996 애들아 쉘스크립트좀 물어보자 Adelposs갤로그로 이동합니다. 13.02.15 49 0
345995 형들 중첩 if문, for문좀 알려줘 [9] 중첩(121.164) 13.02.15 118 0
345994 자 보안 테크트리 알려줌. [1] 조밥(121.164) 13.02.15 336 1
345991 보안은 왜 빠는거임? [14] 조밥(121.164) 13.02.15 287 0
345990 취업 할라 카면 [2] 취직(121.164) 13.02.15 95 0
345988 요즘 취업 할라면 [3] 11(121.164) 13.02.15 117 0
345987 프갤러님들ㅇ 저좀도와주세여ㅕ [8] ㅍㄱ(14.52) 13.02.15 89 0
345986 윈도우 계열로 취업할라면 [3] ㅂㅂㅂ(121.164) 13.02.15 72 0
345985 vi에디터 쓰지마라 vim에디터 써라 다 일루미네이트 해버린다 [1] 잏ㅇ힛(210.125) 13.02.15 69 0
345984 webM 써본 사람있냐? 호욧(210.125) 13.02.15 39 0
345983 근데 프로그래머는 adminin(121.164) 13.02.15 45 0
345982 알고리즘 문제 푸는데.. 파일입출력부에서 자꾸 오류뜸 ㅠㅠ 우째야됨 고기먹자(183.100) 13.02.15 38 0
345981 자바랑 자바 스크립트 ?? [6] 자ㅑ바(121.164) 13.02.15 118 0
345980 어휴 리눅스 이렇게 불편하니까 아무도 안쓰지 [5] 빕뱟뱟갤로그로 이동합니다. 13.02.15 160 0
345979 c언어 다음 말이야 [2] ㄹㄹ(121.164) 13.02.15 58 0
345978 윈도우 프로그래밍 공부 하고싶은데 [4] 윈도우(121.164) 13.02.15 78 0
345977 닷넷 오류 이거 머임? [7] 힝아(1.212) 13.02.15 73 0
345976 머지 갑자기 친구새키가 전화해서 일자리 소개시켜주네 [1] Kyle(138.25) 13.02.15 84 0
345975 리눅스 공부를 하고 싶은데 뭔가 선행해서 봐야하는게 있나여? [5] ff(175.212) 13.02.15 104 0
345973 닷넷 하는 형들 개념 좀 잡아주셈여 힝아(1.212) 13.02.15 43 0
345972 IT국제자격증/전공대비/프로그래밍운영체제네트워크상담 C언어 단기교 김민섭팀장(211.217) 13.02.15 47 0
345971 자바개발자로 취직 진짜 안할거임? [11] S-GUN갤로그로 이동합니다. 13.02.15 205 1
345970 오랜만에 구구단코딩 했는데 에러가 나오는데요? [8] 상상(175.123) 13.02.15 188 0
345969 ms사이트 회원가입어찌함? d65g(175.215) 13.02.15 30 0
345967 네이버메인메뉴에잇는화면들 테이블태그로 이루어졋나여? [1] d65g(175.215) 13.02.15 64 0
345966 C++ 에서 strcpy 도와주세요 [14] 이거아는사람(202.30) 13.02.15 89 0
345965 바람의나라 핵만들려면 [2] ㅇㅇ(220.125) 13.02.15 182 0
345962 이클립스랑 오라클설치해서 sql-developer 사용중인데, [1] 개구리래머갤로그로 이동합니다. 13.02.15 91 0
345961 c) scanf궁금한거 [4] 이힝(211.246) 13.02.15 109 0
345958 더블클릭같이 더블 키입력 체크하는 좋은 방법이 없을까?? [4] 웨펀마스터11갤로그로 이동합니다. 13.02.15 150 0
345957 이산수학 공부하고 싶은데 책.. [5] 이힝(175.215) 13.02.15 219 0
345956 IT계열 해외 취업이 어떤가요? [7] 늅늅(112.172) 13.02.15 327 0
뉴스 HITGS(힛지스), ‘박보검의 칸타빌레’로 데뷔 첫 뮤직 토크쇼 출격! ‘5세대 슈퍼루키’ 입증 디시트렌드 07.12
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2