[問題] 帶入參數只回傳數字並排序
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
問題(Question):
在執行main時直接帶入參數如 main a4b3c2d1
回傳數字的部分並由小到大排序 上列輸入結果要為 1234
目前是用string 來存 argv[1] 的值
用for迴圈+if判斷 把屬於數字的部分放到 char array中
for (int i=0; i<str.size(); i++)
if (str[i] >= '0' && str[i] <= '9')
{
static int j = 0;
arr[j] = str[i];
j++;
}
之後再用bubble sort 把arr[] 排序
再用
for (x=0 ; x<sizeof(arr)/sizeof(arr[0]); x++)
cout << arr[x];
輸出結果
基本上功能是達到了但有很大的瑕疵
因為一開始array必須要給大小 我是給他arr[str.size()]
不過輸入字串不會剛好都是數字
所以array後面會留下很多空位
在sort的時候就會被移到1的前面
如 輸入 main aaa321
輸出 123
^^^ 有3個字母所以多了3個空格
請問要如何修改才能得到 前面不會有空格的結果?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.0.34.42
※ 編輯: scott90213 來自: 123.0.34.42 (08/18 18:23)
→
08/18 18:24, , 1F
08/18 18:24, 1F
→
08/18 18:56, , 2F
08/18 18:56, 2F
→
08/18 19:43, , 3F
08/18 19:43, 3F
→
08/18 19:43, , 4F
08/18 19:43, 4F
→
08/19 21:44, , 5F
08/19 21:44, 5F