struct element { string value; element* next; }; void __fastcall TForm3::BitBtn1Click(TObject *Sender) { element *pointer, head; string s; char c; pointer=&head; FILE *f=fopen(FileListBox1->FileName.c_str(),"r"); while (fgetc(f)!=EOF) { c=fgetc(f); if (c=='\n') { pointer->next = new element; pointer=pointer->next; pointer->value = s; pointer->next=NULL; s.clear(); } else s+=c; } char word[100]; vector v; string w, str; pointer=&head; pointer=pointer->next; while ( pointer!=NULL) { sscanf(pointer->value.c_str(),"[\w+]", &word); w = word; if (find(v.begin(),v.end(),w)==v.end()) v.push_back(w); pointer=pointer->next; } sort(v.begin(), v.end()); for(int i=0;i