2016-03-28 78 views
-4

你好,我知道這可能是一個初學者的問題,但我需要幫助。 我需要在用戶添加的4個值之間進行比較,並通過使用一個接收2個輸入並返回較小值的函數以升序排列它們。我知道這可以通過數組完成,但我不能這樣做。我已經有了這個功能,但是我不知道如何使用這個技巧而不需要很長的代碼。謝謝C++:如何按升序排列4個值?

+0

該代碼在哪裏? –

+0

我不能拿出這個功能的代碼.. –

+2

請提供[mcve]。 – Barry

回答

2

在我看來,這似乎是一個明顯「家庭作業問題」,所以讓我回答它的祕密,以便可能推動你在正確的方向。

首先,提示:分而治之。

第二提示:「河內塔」問題。

你有一個功能,可以比較兩個值。好的,那麼:「四個元素」可以看作是「兩個組的兩個的值」。鑑於比較函數的兩個輸入中的任何一個都可以是通過嵌套調用相同函數獲得的結果。 。 。實際上,您可以在一行代碼中解決此問題,而無需使用數組。

我想在這裏「教你釣魚」,所以我不會把魚放在盤子上。

0

如果你知道C++,那麼你可以使用sort函數。但對於這一點,你必須包括algorithm爲:

#include <algorithm> 

和排序功能,將用作:

sort(array, array+N); 

其中數組是數組名,N是array.After本的尺寸操作你將得到按升序排序後的數組,並返回第一element.Now的功能將類似於爲:

int smallest(int *array) { 
    int size = sizeof(array)/sizeof(array[0]); 
    sort(array, array+size); 
    return (array[0]); 
} 

而且沒有w從main()