首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么只保留重复的字符串?小弟我做了一个,有点有关问题,帮小弟我看看!

2012-03-03 
如何只保留重复的字符串?我做了一个,有点问题,帮我看看!!! 如何只保留重复的字符串?我做了一个,有点问题,

如何只保留重复的字符串?我做了一个,有点问题,帮我看看!!!

如何只保留重复的字符串?我做了一个,有点问题,帮我看看!!!

//---------------------------------------

#include   <vcl.h>
#pragma   hdrstop

#include   "Unit1.h "
//---------------------------------------
#pragma   package(smart_init)
#pragma   resource   "*.dfm "
TForm1   *Form1;
//---------------------------------------
__fastcall   TForm1::TForm1(TComponent*   Owner)
                :   TForm(Owner)
{
}
//---------------------------------------

void   __fastcall   TForm1::Button1Click(TObject   *Sender)
{
  TStringList   *s1=new   TStringList();
      s1-> Sort();
      s1-> Add( "0001 ");
      s1-> Add( "0002 ");
      s1-> Add( "0008 ");
      s1-> Add( "0001 ");
      s1-> Add( "0002 ");;
      s1-> Add( "0001 ");
      s1-> Add( "0008 ");
      s1-> Add( "0002 ");
      s1-> Add( "0005 ");
      TStringList   *sg   =   new   TStringList;
        for(int   i   =   0;   i   <   s1-> Count;   i++)
        {
                if(sg-> IndexOf(s1-> Strings[i])   <   0)

                        sg-> Add(s1-> Strings[i]);
                else
                    {
                        continue;
                    }
        }
        ShowMessage(sg-> Text);
}
//---------------------------------------

      谢谢!!!




[解决办法]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *s1=new TStringList();

s1-> Add( "0001 ");
s1-> Add( "0002 ");
s1-> Add( "0008 ");
s1-> Add( "0001 ");
s1-> Add( "0002 ");;
s1-> Add( "0001 ");
s1-> Add( "0008 ");
s1-> Add( "0002 ");
s1-> Add( "0005 ");
s1-> Sort();
TStringList *sg = new TStringList;
for(int i = 0; i < s1-> Count - 1; i++)
{
for (int j = i + 1; j < s1-> Count; j++)
{
if(s1-> Strings[i] == s1-> Strings[j])
{
sg-> Add(s1-> Strings[i]);
break;
}
}
}

ShowMessage(sg-> Text);
delete s1;
delete sg;
}

[解决办法]
use std::set <std::string>

热点排行