我有一個帶有2個「成對」整數數組newNumerator []和newDenominator []的程序,它們都有9個整數。我寫了一個按升序對它們進行排序的函數,但是我不確定它是否有效,因爲我還沒有成功編譯它。我也遇到了類型轉換的一些問題。下面是函數定義 -C++對兩個成對整數數組的「百分比」進行排序
void sortData(int *newNumerator[], int *newDenominator[], int newSize)
{
int temp1;
int temp2;
bool swap;
int count = 0;
double percentageLeft = 100.0 * static_cast<double>(newNumerator[count])/newDenominator[count];
double percentageRight = 100.0 * static_cast<double>(newNumerator[count + 1])/newDenominator[count + 1];
do
{ swap = false;
for(count = 0; count < (newSize - 1); count++)
{
if(percentageLeft > percentageRight)
{
temp1 = *newNumerator[count];
*newNumerator[count] = *newNumerator[count + 1];
*newNumerator[count + 1] = temp1;
temp2 = *newDenominator[count];
*newDenominator[count] = *newDenominator[count + 1];
*newDenominator[count + 1] = temp2;
swap = true;
}
}
} while (swap);
}
我遇到的類型轉換問題是percentageLeft和percentageRight因爲newNumerator []和newDenominator []是整數指針,但要獲得「百分比」其中我需要它雙倍。不知道如何去做這件事。基本上我只需要弄清楚如何解決這個問題,並且知道我的功能是否能達到它的目的。任何幫助表示讚賞,並請讓我知道如果有什麼我可以進一步明確
請始終在這個問題的錯誤信息也 –
現在我得到的只有一個「161:38:從的static_cast‘INT *’到‘雙’是不允許「 – Sosa