看板 C_and_CPP 關於我們 聯絡資訊
各位大大好! 小弟最近剛學C語言 在練習字串和陣列方面的問題 例如說我要把一串數字 10110011 最後可以顯示出 10出現一次 00出現一次 11出現兩次 01沒有出現 小弟查了很久的資料 看到的都只有strtok這種用字串中特殊符號來隔開(EX: 空白或, ) 想請問各位大大不知道有沒有方法可以固定長度擷取字串內的data? 還請各位大大賜教囉~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.220.189
kimgtob:把一串數字丟到陣列去 再用 A[0] A[1] 兩兩一組去比如何? 03/20 15:48
loveme00835:01 有出現啊@@, 你可能需要作一個有限狀態機喔~ 03/20 16:05
pd41987:希望是可以出現 10 / 11 / 00 / 11這種 03/20 16:08
pd41987:然後最後統計10出現一次 00出現一次 11出現兩次 01沒有 03/20 16:08
VictorTom:只考慮 00/01/10/11 四種?? 03/20 16:20
VictorTom:每兩個char抓出來用ASCII計算算出0~3的值, 然後用一個 03/20 16:20
VictorTom:int [4]的陣列, 跑迴圈把char string兩兩抓出來判斷就好 03/20 16:20
loveme00835:strncpy + 指標兩個字兩個字遞增 03/20 16:21
VictorTom:不齊的自己決定補左還是補右; 有其他數字出現再看多複雜 03/20 16:21
pd41987:嗯嗯感謝各位大大 03/20 16:29
pd41987:那再請問一下如果今天變成4個數字一組( 1000 / 1101 ) 03/20 16:30
pd41987:又把字串長度無限加廣的話,那還是用一樣的方法嗎? 03/20 16:31
VictorTom:有差很多嗎?? 你自己算一下數字的值域先看看如何!? 03/20 16:31
VictorTom:只要電腦儲存就是有限的, 字串超長, 最多你統計的資料結 03/20 16:33
VictorTom:構改用大數來存, 只是光是unsigned int可以統計到2^32-1 03/20 16:34
VictorTom:你要不要算算看就算全是同一組, 你要製造多長的字串~_~ 03/20 16:34