[問題]C 字串比較與輸出

作者: IMLeroy (乖小乖)   2016-09-11 15:43:08
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2013
問題(Question):
請問要如何做字串內容的比較與刪減 例如有兩字串123 245
希望可以比較過兩字串之後把兩串中重複的字刪除並合併
餵入的資料(Input):
目前寫的結構跟字串是長這樣
struct MyStruct{
char *number1;
char *number2;
char *number3;
}
typedef struct MyStruct MS
void main(){
MS c[2];
c[0].number1="1";
c[0].number2="2";
c[0].number3="3";
c[1].number1="2";
c[1].number2="4";
c[1].number3="5";
}
合併的部分已經做完了 目前可以把兩字串合併 但是不知道要怎麼比較跟刪除重複
char* MSarray_total(MS *arr,int size){
const int strSize=100;
char *str=new char[strSize];
str[0]='\0';
int i;
for (i=0;i<size,i++){
stract_s(str,strSize,arr[i].number1);
stract_s(str,strSize,arr[i].number2);
stract_s(str,strSize,arr[i].number3);
}
return str;
}
預期的正確結果(Expected Output):
目前輸出會是 123245
希望可以輸出成12345(重複的只顯示一次)
作者: Davidhu127 (船船_BTTO)   2016-09-11 17:00:00
首先,你那個123不叫做一個"字串",而是三個字串了!正確使用應該是char* s="123"其實你根本不需要定義struct,簡單code參考:ideone.com/z6kGD5
作者: jacky1989   2016-09-11 19:42:00
根據C/C++的規範,主函式要回傳值喔!請改成int main
作者: xsssxxzz (阿群)   2016-09-11 21:34:00
1. 找出兩字串聯集2. 創新字串, 用迴圈,不append字串1聯集中的元素3. 合併新字串與字串2 END笨方法~ 但就留給高手用更有效率的方式解了!
作者: EdisonX (卡卡獸)   2016-09-12 12:25:00
開 array 紀錄 s1, s2 有出現過的,再polling array。
作者: flyfoxy (飛狐)   2016-09-12 14:52:00
hash table/map

Links booklink

Contact Us: admin [ a t ] ucptt.com