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
[51818] Re:Re:Re:Re:Re:배열에서 중복된 데이터를 제외하고 싶은데요..(자답)
장성호 [nasilso] 3378 읽음    2008-01-07 11:31
std::list 의 sort , unique 기능
VCL로도 가능하네요

샘플..
void __fastcall TForm1::Button4Click(TObject *Sender)
{

    // String sStr=Edit1->Text;
    String sStr="문자열1   문자열2  ans  문자열1  문자열3  문자열2   문자열2 ";
    TStringList *sLst=new TStringList;
    sLst->Duplicates=dupIgnore ;//dupAccept ;
    sLst->Sorted=true;
    sLst->Delimiter=' ';
    sLst->DelimitedText=sStr;
    Memo1->Lines->Assign(sLst);
    delete sLst;

}
//---------------------------------------------------------------------------

그럼..


슬.강슬기 님이 쓰신 글 :
: 저도 비슷한 생각을 했네요...
: 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:배열에서 중복된 데이터를 제외하고 싶은데요..(자답) 장성호 3378 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.