Differences between revisions 25 and 26
Revision 25 as of 2006-04-19 20:11:38
Size: 7513
Editor: 210
Comment:
Revision 26 as of 2006-04-19 20:51:02
Size: 7980
Editor: 211
Comment:
Deletions are marked like this. Additions are marked like this.
Line 144: Line 144:

실시간 질문을 할 수 있는 그런 좋은 싸이트를 이제야 가르쳐 주다니...ㅜㅜ. 과제물 같은 건데, C++ 로 클래스를 짜다가 중간에 막히는 함수는 C 예제 책에 나오는 것을 2-3개 짜집기 한 겁니다. 전체 클래스 중에 잘 안되는 함수 2개만 올려서 질문 한 거지요. excellent Destine의 도움으로 디버그까지 다 해결됬읍니다. 실력이 정말 대단하시던데......DrPepper

페이지 만든날 (APR 11, 2003)


AnswerMe : Python을 다시 깔려구 ActiveState로 들어가서 이리 저리 갔더니 FTP 연결되었읍니다. ftp://ftp.activestate.com/ActivePython/windows/2.4/ 근데 여기에 뭐가 많네요... 맨 앞에 Install icon 같은 것을 다운 받아 실행 시켰더니 설치는 되었읍니다. 그런데 나머지는 뭔가요? 다 같은 것 같지는 않은데....

  • 일단, msi 파일은 [NT]이상의 운영체제에서 사용하는 새로운 프로그램인스톨 방법이고요, zip 은 msi를 못쓰는 사람들(win98등)을 위한 것이고요... 나머지는 버젼에 관한것입니다. 2.4a1, 2.4b1, 2.4c1,... 2.4 보통 프로그램을 만들고 버젼을 매기는데, 큰 버젼변화를 먼저 적고,,, 알파버젼, 베타버젼, 감마버젼... 이렇게 발전시키고, 최종적으로 2.4 정식판을 릴리즈합니다. 저곳에서는 혹시라도 필요한 사람들을 위해 중간중간의 모든 버젼들을 모두 제공하는 것입니다. 별일없다면, 2.4 를 받으시면됩니다. --[yong27], 2005-01-21

Dear DrPepper

[DrPepper/ljh.py]가 일단 작동하는 코드입니다. 현재는 one-way [ANOVA]만 하고 있습니다. --[yong27/2003-04]-25

[TeX]입니다. 여기 클릭하셔서 링크된 자세한 문헌을 보시면 여러 수식 및 '타우'등을 표현하실 수 있을거에요 건승하시길.. --[indigoH]

논문 인터넷에 받아놨습니다. 다음 링크에서 받으시면 됩니다.


[Grub]를 참고하세요 -- ["yong27"] DateTime(2006-04-11T12:07:56Z)


코드 좀 보아주십시요. C++ 입니다. 문자열을 str이라는 변수에 넣은 후 문자가 몇개인지 세어 보는 겁니다. 코드를 손 봤더니 결과가 나오기는 하는데 디버그 하라네요.... 누구 아시는 분이 좀 봐주십시요.......... DrPepper

   1 #include <iostream>
   2 #include <cstring>
   3 
   4 using namespace std;
   5 
   6 void main() 
   7 {
   8         char* str;
   9 
  10         void WordCount(char* x ) ;
  11 
  12         str = "가나다라ab ";
  13 
  14         WordCount(str); 
  15 
  16 }
  17         
  18 void WordCount(char* x ) 
  19 {
  20         int alpha =0;
  21         int space=0;
  22         int han =0;
  23         int WordNumber = 0;
  24         while(*x) 
  25         {
  26                 if(isalpha(*x)) alpha += 1;
  27                 else if(isspace(*x)) space += 1; 
  28              else han += 1;
  29                 buf++;
  30         }
  31         han = han/2;
  32 
  33         WordNumber = alpha + han;
  34 
  35         cout << "저장된 문자수는 " << WordNumber << "입니다." << endl; 
  36 
  37 }
  • 안녕하세요. DrPapper. 코드를 잠깐 봤는데, void WordCount(char* x ) ; 이건 없어져야 할 부분으로 보입니다. 초기화되지 않은 않은 포인터 변수를 넘기시면 비정상적으로 작동합니다. 그리고 프로그램 구조상 절대로 정상적인 문자길이를 알아 낼 수 없습니다. 코드를 보니 ASCII 코드 127 이하면 1글자로 인식하고 그렇지 않으면 한글로 인식해서 한글은 단순히 2바이트 문자라고 생각하고 2로 나누는 구조인데요(han=n/2 부분이 이 역할을 하죠). 한글은 절대로 2바이트가 아닙니다. 뭐.. 복잡한 이야기가 많은데요. 그냥 eucKr 같은 경우에는 2바이트씩 사용하지만, unicode 는 그때 그때 다르기 때문에 이 코드는 절대로 정상적인 결과가 나올 수 없습니다. 한글 빼고 영문만 가지고 길이 계산해서 잘 나오면 잘 되는구나 하시면 될 것 같습니다. 도움이 됬기를 바랍니다. -- ["neosphere"] DateTime(2006-04-15T16:09:57Z)

코드를 약간 수정했읍니다. isalpha 와 isspace 함수를 썼더니 나오기는 하는데 한글이 하나 모자라고 영문이 하나 많게 나오네요. void WordCount(char* x ) ; 이부분은 str 에 문자열을 입력하면서 이미 초기화 된 것이 아닌가요? 이 함수를 다른 클래스에 끼워서 넣으면 분명히 작동이 됩니다....근데 자꾸 디버그 하라고 나와서 문젠데.......DrPepper


  • 이 코드도 좀 봐 주십시요. 문자열 바꾸는 코드입니다. C 입니다.

    해결됬습니다. while문을 수정했더니 제대로 작동되네요. ......DrPepper

#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>


void main()
{       
        char* buf;

        char* str1;

        char* str2;
                                                            
        buf = "데이터를 컴퓨터 작업을 통해 분석하기 위해서는 그 목적에 맞는 프로그램을 작성해야 한다. 그러나 매 작업마다 프로그램을 새로이 작성한다는 것은 비능률적인 일이며 또한 프로그램을 짤 수 있는 인력도 제한되어 있으며 어려운 일이 될 것이다. 빈번히 사용되는 통계처리방법은 그 종류가 제한되어 있으며 그 처리 형식이 일정하기 때문에 일반화된 컴퓨터 프로그래밍이 가능하다.  이러한 필요성에 의해 개발된 것이 통계패키지이다. 이것은 각 통계처리에 적합하도록 미리 프로그램들이 작성되어 있으며 여기에 자료를 입력시키고 요구하는 자료처리방법을 명시하는 내용을 입력시키면 통계분석결과가 출력된다. 실제 자료처리에 쓰이는 통계분석과정의 프로그램 작성을 직접하지 않아도 일련의 개발된 패키지에 자료와 요구하는 분석방법에 대한 정보를 입력시켜 그 결과를 쉽게 얻을 수 있고 정확한 해석만 할 수 있으면 된다. ";
        
      str1 = "프로그램";
        
      str2 = "program";

        cout << endl;

        cout << buf << endl;

        cout << str1 << endl;

        cout << str2 << endl<< endl ;



        char* ret;

        char* dup;

        int lenbuf, pos1, pos2;

        while(*buf)                     
        {
                ret = strstr(buf, str1);        //buf에서 str1을 검색한다.
                if(ret == NULL)
                {
                        break ;
                }
                else                            //검색된 str1들을 모두 str2로 바꾸기

                {
                        lenbuf = strlen(buf) ;   
                        pos1 = ret - buf ;              //buf에서 str1이 검색된 위치까지 길이 구하기   
                        dup = strdup(buf);       //buf를 하나더 복사해 놓는다.

                        strnset(&buf[pos1], 0, lenbuf-pos1);  //buf에서 str1이 검새된 이후부터 끝까지 0으로 채운다.
                        strcat(buf, str2);                    //buf에 str2를 채운다.

                        pos1 = ret - buf + strlen(str1);    //buf에서 str1 이 후의 위치 계산
                        pos2 = ret - buf + strlen(str2);    //buf에서 str2를 추가한 이 후의 위치 계산

                        strcpy(&buf[pos2], &dup[pos1]);     //st2가 추가된 buf에 str1 이 후의 문자열들을 복사
                        free(dup);                          //복사를 위해 할당된 메모리 반납
                }
                cout << buf << endl;
        }

}
  • 사족 이지만, 이건 C 코드가 아닙니다. cout 는 C++에만 존재하는 거죠. 그리고, 찾아보니 strnset 이 표준함수가 아니더군요. memset? 이던가가 표준인 것 같습니다. 그리고 마지막에 return 값이 넣어 주시면 더 좋을 것 같습니다. 그런데 요즘 C++ 공부하시나요? 그냥 궁금해서 여쭤 봅니다. 혹시 평소에 질문 하실 것이 있으면 HanIrcBio 채널에 오시면 실시간으로 물어보실 수 있습니다. -- ["neosphere"] DateTime(2006-04-19T11:11:38Z)

실시간 질문을 할 수 있는 그런 좋은 싸이트를 이제야 가르쳐 주다니...ㅜㅜ. 과제물 같은 건데, C++ 로 클래스를 짜다가 중간에 막히는 함수는 C 예제 책에 나오는 것을 2-3개 짜집기 한 겁니다. 전체 클래스 중에 잘 안되는 함수 2개만 올려서 질문 한 거지요. excellent Destine의 도움으로 디버그까지 다 해결됬읍니다. 실력이 정말 대단하시던데......DrPepper


CategoryHomepage

DrPepper (last edited 2011-08-03 11:00:50 by localhost)

web biohackers.net