2016-04-29 4 views
-9

私はランダムな数字のセットを検索して、最も近い数字を0にするオープンソースコードを探していました。何らかの理由でライブラリのabsなぜ、どこでそれを使うのかと疑問に思っていました。ここにコードがあります。いつ、なぜ私はabsでC++を使用するのですか

#include <iostream> 
#include <string> 
#include <vector> 
#include <cmath> 

using namespace std; 

int main() 
{ 
    int N; // the number of temperatures to analyse 
    cin >> N; cin.ignore(); 

    if(N == 0) { 
     cout << 0 << endl; 
     return 0; 
    } 

    int bestTemp = 5527; 
    for(int i = 0; i < N; i++) { 
     int v; 
     cin >> v; 
     if(abs(v) < abs(bestTemp)) { 
      bestTemp = v; 
     } else if(abs(v) == abs(bestTemp) && bestTemp < 0) { 
      bestTemp = v; 
     } 
    } 


    // Write an action using cout. DON'T FORGET THE "<< endl" 
    // To debug: cerr << "Debug messages..." << endl; 

    cout << bestTemp << endl; 
    return 0; 
} 

私はこのコードをcodeameから取得しましたが、私はこれをBobというユーザーから見つけました。 P.S私はかなり若いので、理解しやすくしてください、ありがとう、ありがとう。

+5

[abs()]のドキュメント(http://www.cplusplus.com/reference/cstdlib/abs/)を参照して、その機能を確認してみましたか? –

+0

他の関数と同様に、提供する機能が必要なときに使用します。 –

+1

絶対値を取得したいとき –

答えて

2

abs()は、数字のabsolute valueを返します。つまり、負の数を正の数にします。 vの大きさがより低い(又は「0に近い」)bestTemp超える場合

abs(v)abs(bestTemp)リターン両方の数の正のバージョンので、abs(v) < abs(bestTemp)が真であろう。

関連する問題