0

C++ に変換する疑似コードが与えられました。

    Set a Boolean variable “first” to true.
    While another value has been read successfully
          If first is true
          Set the minimum to the value.
          Set first to false.
          Else if the value is less than the minimum
          Set the minimum to the value.
    Print the minimum

そして、ここに私のコードがあります:

bool first = true;
bool read_value = true;
int value = 0;
int minimum = 0;
cout << "Enter an integer : " ;
cin >> value;
while(cin.hasNextInt())   // error here
{
    cout << "Enter another integer : " ;
    cin >> minimum;
    if( first == true){
        minimum = value;
        first = false;
    }else if ( value < minimum){
        minimum = value;
    }
}
cout << minimum;

system("PAUSE");
return 0;

そこの hasNextInt にエラーがあります。そして、疑似コードが何を望んでいるかはよくわかりません。誰か説明してくれませんか?

前もって感謝します。

4

3 に答える 3

1

標準 C++ ライブラリには関数がありませんhasNextInt()(そのため、コンパイルできません)。ただし、Java には 1 つあります。

于 2013-04-24T13:24:50.273 に答える
0

それはばかげた疑似コードです。価値のない馬鹿げたことをしなくても、もっとうまくやれる...

int min = std::numeric_limits<int>::max();

for(int val; cin >> val)
{
    if(val < min)
        min = val;
}

cout << "Minimum: " << min << '\n';
于 2013-04-24T13:29:19.133 に答える
0

これはあなたが望むコードに近いです:

cout << "Enter an integer : " ;
while( cin >> value )
{
    if( first == true){
        minimum = value;
     first = false;
    }else if ( value < minimum){
        minimum = value;
    }
    cout << "Enter another integer : " ;
}
于 2013-04-24T13:27:05.383 に答える