C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[51817] Re:Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요..(자답)
슬.강슬기 [mydog21] 6730 읽음    2008-01-07 11:18
저도 비슷한 생각을 했네요...
STL을 사용했더니.. 소스가 확실히 짧아졌군요

std::list<String> strList;

...// 데이터 삽입

strList.sort();
strList.unique(); // 중복 제거

더 좋은 방법이 있을 듯도 합니다.

어떨런지...

이용태 님이 쓰신 글 :
: 곰곰히 생각을 하다가 아이디어가 떠올라서 코딩해봤습니다..
:
: 배열이 아닌 벡터를 이용해서 만들어봤습니다.
:
: 소스 보시면 알겠지만...
:
: 원본  벡터(vA)의 값을 일일히 비교하여 중복되는 것이 없을 경우 새로운 벡터(vB)에 저장하여 출력하였습니다.
:
: 이 문제에 대해 답변 주신분들 감사드립니다..
:
:
:
:         vector<AnsiString> vA;
:
:         for(int i=0;i<MDIChildCount;i++)
:         {
:             pChild = (TFormChildCscan*)MDIChildren[i];
:
:             tempName.cat_sprintf("%s", pChild->sSP.flNm);
:
:             tempName = ExtractFileName(tempName);
:
:             vA.push_back(tempName);
:         }

:        vector<AnsiString> vB;
:
:        vB.push_back(vA[0]);
:
:         bool cons = false;
:         for(int i = 1; i < vA.size(); i++)
:         {
:             for(int j = 0; j < vB.size(); j++)
:             {
:                 if(vA[i] == vB[j])
:                 {
:                     cons = true;
:                     break;
:                 }
:             }
:
:             if(cons == true)
:             {
:                 cons = false;
:                  continue;
:             }
:
:             vB.push_back(vA[i]);
:
:         }
:
:         for(int i = 0; i < vB.size(); i++)
:         {
:             cxComboChildList->Properties->Items->Add(vB[i]);
:         }
:
:
:
:
: 이용태 님이 쓰신 글 :
: : 제가 예를 잘못 들었나 봅니다.
: :
: : 문자 배열이 아니고요... 문자열 배열입니다.
: :
: :
: : 문자열1 = "우리나라"
: : 문자열2 = "대한민국"
: : 문자열3 = "단일민족"
: :
: :  -------   -------  -------  -------  ------- -------
: :   문자열1    문자열2   문자열1  문자열3  문자열2   문자열2
: :  -------   -------  -------  -------  ------- -------
: : 
: : 이것을 중복된 값을 제외하여 다음과 같이 만들고 싶습니다.
: :
: :  -------   -------  ------- 
: :  문자열1    문자열2   문자열3
: :  -------   -------  ------- 
: :
: : 방법 아시는 분 알려주십시요...
: :
: :
: : 김상면 님이 쓰신 글 :
: : : 아주 기초적인 질문이라 대충 알고리즘만 적습니다.
: : :
: : :     char src[9] = "aaabbacbc";
: : :     int dst[9] = {0,};
: : :     int i = 0;
: : :
: : :     while (i<10)
: : :     dst[src[i++] - 'a']++;
: : :
: : :     i = 0;
: : :     while (i < 10)
: : :     {     if (dst[i])
: : :            cout << char(i + 'a');
: : :     i++;
: : :     }
: : :
: : : 실행 파일을 만들려면 좀 손을 봐야 하지만 알고리즘을 이해하는데는 문제가 없으리라 생각합니다.
: : : 그럼
: : :
: : :
: : : 이용태 님이 쓰신 글 :
: : : : 다음과 같은 배열이 있습니다.
: : : :
: : : : char a[9];
: : : : --- --- --- --- --- --- --- --- ---
: : : :  a     a    a    b     b    a    c     b    c
: : : : --- --- --- --- --- --- --- --- ---
: : : :
: : : : 이 배열에서 중복된 값을 제외한 새로운 배열을 만들고 싶습니다.
: : : :
: : : : 즉.. 요렇게 말이죠..
: : : : --- --- ---
: : : :  a     b    c
: : : : --- --- ---
: : : :
: : : : 머리를 계속 굴려보는데... 퍼뜩이는 아이디어가 떠오르지 않습니다...;;;
: : : :
: : : : 아시는 분... 답변 부탁드립니다...

+ -

관련 글 리스트
51809 배열에서 중복된 데이터를 제외하고 싶은데요.. 이용태 1453 2008/01/05
51810     Re:배열에서 중복된 데이터를 제외하고 싶은데요.. 김상면 1880 2008/01/05
51811         Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요.. 이용태 1523 2008/01/06
51814             Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요..(자답) 이용태 1791 2008/01/07
51817                 Re:Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요..(자답) 슬.강슬기 6730 2008/01/07
51818                     Re:Re:Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요..(자답) 장성호 3379 2008/01/07
51815                 Re:Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요..(자답) 이현진 1332 2008/01/07
51813             Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요.. 장성호 1761 2008/01/06
51830                 Re:Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요.. 말라리아 1425 2008/01/08
51812             Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요.. 김상면 1655 2008/01/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.