2017-01-23 12 views
-9

整数を入力して最高から最低までソートするにはどうすればいいですか?(例:123456を入力し、654321を出力します。私は多数の問題があります。整数を入力して最高から最低までソートする方法

+0

ですから、文字列内の数字をソートしたいですか? ['std :: sort'](http://en.cppreference.com/w/cpp/algorithm/sort)を使ってみましたか? – BoBTFish

+3

CはC++ではなく、C++はCなどではありません...何か試しましたか?正しい言語タグを[mvce](http://stackoverflow.com/help/mcve)に入力してください。 – George

+0

"カスタム"入力はどういう意味ですか? – molbdnilo

答えて

2

大量の問題があります。

整数型の範囲は制限されています。このような問題を回避するには、入力を文字列として扱い、文字列内の文字を並べ替えるだけです。

エラー処理の場合、入力は数字のみで構成されていることを確認することができます。

-1

私はあなたのために以下のコードが役に立つと思います。

#include <iostream> 
#include <string> 
#include <algorithm> 

using namespace std; 

bool Isnum(char ch) 
{ 
    if(ch >= 48 && ch <= 57) 
     return true; 
    else 
     return false; 
} 
bool compare(char a,char b) 
{ 
    return a>b; 
} 
int main() 
{ 
    string num; 
    cin >> num; 
    cout << num << endl; 
    int i; 
    for(i=0;i<num.length();i++) 
    { 
     if(!Isnum(num[i])) 
     { 
      cout << "Enter a valid number"; 
      return 0; 
     } 
    } 
    sort(num.begin(),num.end(),compare); 

    cout << num; 


    return 0; 
} 
+0

コードを書いて、人々が私に質問してもらうことを奨励してはいけません。 –

+0

私は新しいプログラマーのためにコードを共有することに間違いはないようです。 –

+0

それから[ツアー]、[ヘルプ]、[回答]を読んでください。そのような(コードリクエスト)の質問に答えるだけで、もっと多くのことを尋ねることができます(なぜ、この質問は答えられましたか?とにかく誰かのためにコードを提供することは価値がないと思っています。もし彼らがちょうど学んでいるのであれば、コードを書こうとせずコードを手に入れれば**何も**知ることができます。 –

関連する問題