读书人

怎么只保留重复的字符串?小弟我做了一

发布时间: 2012-03-03 15:33:03 作者: rapoo

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

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

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

#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>

读书人网 >C++ Builder

热点推荐