디시인사이드 갤러리

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

갤러리 본문 영역

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

꾸닥(211.41) 2010.10.02 00:35:04
조회 94 추천 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/14 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45479 65
2871813 진짜 신입 모집 이래놓고 점점 필요역량 길어지는게 웃김 ㅇㅇ(221.146) 11:37 2 0
2871811 챗티씨 왜케 빡대갈통이시냐? 헬마스터갤로그로 이동합니다. 11:20 18 1
2871810 한국 ai 는 유료 API 가져다 쓰는 쪽으로 [1] 무한탐구(218.234) 11:08 23 0
2871809 인생은 아름답구 냥덩은 발전한당⭐+ By 나님 ♥지나가던길냥덩♥갤로그로 이동합니다. 10:58 8 0
2871808 국비출신 자바웹개발 배웠는데 현업가서 경험해보는게 꿈이다. [1] 프갤러(180.231) 10:56 19 0
2871807 디시앱에서 왜 글 가끔 안 써짐? 아스카영원히사랑해갤로그로 이동합니다. 10:48 7 0
2871806 자랑 하나 해도 되냐 [1] 아스카영원히사랑해갤로그로 이동합니다. 10:43 25 0
2871803 자야지~ ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 10:00 16 0
2871802 임베디드개발자하는일 -> 로봇어플리케이션, 공장자동화 [2] 네오커헠(1.237) 10:00 63 0
2871801 결국 2018년쯤 프갤러(로우레벨러)가맞았던거지 네오커헠(211.235) 09:39 63 0
2871800 QA 팀은 뭐하는 곳이야? [2] 프갤러(14.47) 09:35 37 0
2871799 포프님 예측들이 다 맞네 [9] 피치(183.101) 09:34 82 0
2871798 보더콜리가 border 콜리였노 [4] 헬마스터갤로그로 이동합니다. 09:19 41 0
2871797 짱깨 ♥지나가던길냥덩♥갤로그로 이동합니다. 09:16 15 0
2871796 우끽끼끼끼기기끼 우키 [1] 통암기클론원숭이(211.235) 08:56 37 0
2871795 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥지나가던길냥덩♥갤로그로 이동합니다. 08:49 12 0
2871794 총체적문제 무능논란좌파 2찢명 쫄았넹 ㅇㅅㅇ ♥지나가던길냥덩♥갤로그로 이동합니다. 08:19 14 0
2871792 조급함이 일을 망치는법이당 By 나님 ♥지나가던길냥덩♥갤로그로 이동합니다. 08:10 21 0
2871791 [속보] 좌파 2찢명 갑질논란 인사대참사 거짓변명 강선우 텔레그램 확보! [1] ♥지나가던길냥덩♥갤로그로 이동합니다. 08:06 34 0
2871790 세부분석하니 1.5 클래스 올렸다는게 맞는듯? [1] ♥지나가던길냥덩♥갤로그로 이동합니다. 08:04 15 0
2871789 반국가세력 모순 덩어리 아닌가 생각해본다 [2] 넥도리아(220.74) 08:03 23 0
2871788 다시 계산하니 2달 이상 앞당김 ㄷㅅㄷ ♥지나가던길냥덩♥갤로그로 이동합니다. 08:02 12 0
2871787 skt 기변 통보만 가능하다고 해서, 고객센터 전화드렸습니다. 넥도리아(220.74) 08:00 15 0
2871786 나님 잘하면 올해 한단계 클래스 올릴수 있을둣!? ♥지나가던길냥덩♥갤로그로 이동합니다. 07:58 12 0
2871784 나님 기분 ㄱㅆㅅㅌㅊ !! ♥지나가던길냥덩♥갤로그로 이동합니다. 07:57 13 0
2871783 호오.. 나님 작년보다 2달이나 페이스 앞당겼넹 ㅋㅅㅋ ♥지나가던길냥덩♥갤로그로 이동합니다. 07:56 16 0
2871781 보수 이 새끼는 왜 저러고 살까 의문이 들 때 항싱 답을 주는 짤 [3] 프갤러(110.8) 07:08 34 0
2871780 자자 논거를 찾아보지 않는 자칭 보수 병신들의 심리상태 알랴준다 [3] 프갤러(110.8) 07:07 25 0
2871778 세상에 억까가 심해더 시련을 견디고, 시련 넥도리아(220.74) 06:25 18 0
2871777 너네 개발공부 얼마나해 [6] 프갤러(106.101) 06:18 79 0
2871776 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥지나가던길냥덩♥갤로그로 이동합니다. 06:08 13 0
2871775 저녁 안 먹구 간식 먹구 잣더니 머근개 없어서 그런지 끙야가 잘 안나오네 ♥지나가던길냥덩♥갤로그로 이동합니다. 05:54 14 0
2871774 무제 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 05:53 18 0
2871773 비스크돌 2기 ost 는 별루넹 ♥지나가던길냥덩♥갤로그로 이동합니다. 05:51 13 0
2871772 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 05:51 10 0
2871771 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 05:50 26 0
2871770 C++ 인기는 왜 죽지 않는가? [3] 프갤러(59.16) 05:38 53 0
2871769 나님 모닝 미라클⭐+ ♥지나가던길냥덩♥갤로그로 이동합니다. 05:18 17 0
2871768 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥지나가던길냥덩♥갤로그로 이동합니다. 05:17 10 0
2871767 프갤 저지능자 보수들은 뭔 찾아볼 생각을 못하냐.. [3] ㅆㅇㅆ(124.216) 04:23 41 0
2871765 자연어로 죄다 코딩해버리니까 현타오네 [2] 프갤러(175.193) 02:34 94 0
2871763 한국 주식 8~90%는 상위 10% 부자가 갖고있다 발명도둑잡기갤로그로 이동합니다. 01:26 18 0
2871761 부자감세 패싱하고 초부자 감세? 배당소득 분리과세의 함정 발명도둑잡기갤로그로 이동합니다. 01:18 15 0
2871759 하 취업 [3] 프갤러(124.50) 01:09 61 0
2871755 노조가 없으니까 당연히 힘이 안 실리지. 현대사회서 노조가 없으면 [2] ㅆㅇㅆ(124.216) 00:51 46 2
2871753 해외개발자들 세금써서 들여온다는거 ㄹㅇ이가.. [5] ㅇㅇ(223.38) 00:43 84 6
2871752 디시애들 멍청함 보다보면 혀를 내두르지 않냐? 노벨 경제학상을 전면부정함 [3] ㅆㅇㅆ(124.216) 00:42 62 0
2871750 잘자요 여러분 [5] 개멍청한유라갤로그로 이동합니다. 00:27 50 0
2871748 국내 자동차 업계는 망하게되있음 [6] ㅇㅇ(211.235) 00:20 114 0
뉴스 강호동 사주풀이, 어떻게 보시나요? 디시트렌드 07.14
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2