所以我想創建一個儘可能短的功能,將:添加到數組索引根據用戶輸入的每個字母
- 獲取用戶輸入的字符串,並把它變成爲const char數組。
- 對於整個const char數組,使用for循環來獲取當前索引在for循環中的字母位置。
- 然後使用字母順序作爲索引,並在一個由26個整數組成的數組中添加一個索引。
簡而言之:它記錄字符串中字符的頻率並將其添加到整數數組中,因此如果輸入「ABC」,它將輸出1,1,1,0,0等,或者如果我輸入「XXYZZ」它將輸出... 0,0,0,2,1,2。
我已經在這個,但它似乎並沒有工作;
void addCommonToArray(int alphabet_common[], string userinput) {
const char * alphabet = userinput.c_str(); // String to array
int index;
for (int i = 1; i == sizeof(alphabet); i++) {
index = alphabet[i] - 64; // Get current index and minus 64 from ascii code to get alphabetical order
alphabet_common[index]++; // Add one to the position of the current index in the alphabet
} }
我曾經使用過此多次修訂,但未能似乎是一個問題,但在alphabet_common
陣列是空白。 (也在main.cpp
有一個26整數的數組,但陣列的所有元素都是0)所以這裏的問題是數組停留在0.
我感謝任何幫助!
sizeof(alphabet)會給你什麼?你不應該通過userinput.length()循環,爲什麼我== sizeof(字母)? – Nik
@Nik這是for循環知道在哪裏停止,在這種情況下,一旦我等於數組的大小。 sizeof(字母)給了我有多少元素在數組中。 – Alaanor
你會不會進入for循環? sizeof(字母)會給你什麼? – Nik