-1

プログラムは最初に、2 つの数字を何回入力するかを入力するように求めます。2 つの数値を指定すると、それらの LCM が検出され、最初に入力した回数だけ操作が実行されます。

それは開き、私が数字を与えるのを待ち、何もしません。

#include <iostream>

using namespace std;

int ile ;
int grupa1, grupa2 ;
int wynik ;
int dzielnik = 0;

int main()
{
    cin >> ile ;
    for (int i=0; i <= ile ; i++ )
    {
        cin >> grupa1 >> grupa2 ;
        do
        {
            do
            {
                dzielnik ++ ;
              } while ((dzielnik % grupa1 != 0 && dzielnik % grupa2 !=0 )     || dzielnik < grupa1 + grupa2) ;

                if (dzielnik % grupa1 == 0 && dzielnik % grupa2 == 0 )
            {
            grupa1 = grupa1 / dzielnik ;
            grupa2 = grupa2 / dzielnik ;
        }
        else if (dzielnik >= grupa1 + grupa2)
        {
            wynik = grupa1 * grupa2 ;
            cout << wynik ;
        }
    }
    while (wynik == grupa1 * grupa2) ;
    dzielnik = 0;
}
return 0;

}

4

1 に答える 1

0

coutバッファリングされ、1) 十分なデータが提供されるか、2) フラッシュされるまで何も表示されません。

この行を変更します。

cout << wynik ;

これに:

cout << wynik << endl;

そして、いくつかの出力が表示されるはずです。


また、インデントを修正することを検討する必要があります。現在、それは非常に誤解を招くものです。メインはforで並びwhile、内部はdoで並びelse ifます。

于 2016-02-29T15:40:01.417 に答える