我有與該是這樣的練習很難陣列:搜索用C
寫計數在每一個陣列不同數量的外觀量的計劃。整數0之間的數 - 9.取出此陣列爲例:
int numbers[] = {1, 5, 4, 7, 1, 4, 1, 7, 5, 5, 3, 1};
創建指向該陣列的第一個元素的指針。循環訪問數組並計算指向數字的出現數量。在計算出數字1的出現數量之後,指針將指向數字5.計算出現的數量5等等。在循環幾次後,指針再次指向1(數組的元素4),程序可能不會再次計數1,因此您需要將得分保持在您已計算的數字的某個位置。
輸出應看起來像這樣:
的出場1的量:4
的出場3的量爲:1
出場的量4是:2
5的出現數量是:3
的出場7次的量爲:2
代碼我現在有計算每一個元素的外觀:
int main()
{
int getallen[] = {1, 5, 4, 7, 1, 4, 1, 7, 5, 5, 3, 1};
int i , j, *aimedNumber, appearance = 0, arraySize = sizeof(getallen)/sizeof(int);
for(i=0;i<arraySize;i++)
{
aimedNumber = getallen[i]; // every loop, the pointer points to the next element
for(j=0; j<arraySize; j++) // loops through the array comparing the pointer
{
if(getallen[j]==aimedNumber) // if the element of the array == pointer
{
appearance++; // +1 to the appearance
}
}
printf("the appearance of %i in the array is: %i\n", aimedNumber, appearance);
appearance = 0; // after checking the appearance of the pointed number...
} // reset the appearance variable
return 0;
}
但我仍然需要有東西,如果我是檢查已經計算了一個數字,如果我確定了,請確保該數字不會再被計算在內。
在此先感謝!
如果你可以使用一組,那麼你的問題解決了,但它是stl和C++ – macroland
你的外部循環應該運行所有可能的數字,例如從0到9,你的情況是'targeNumber'等於'i'。 (當然,如果你知道可能值的範圍,你可以遍歷內循環一次,並填充從0到9的每個數字的計數數組。) –
你最近的問題是什麼? – Roushan45