Найти LCM из двух чисел

Сначала программа должна попросить меня ввести, сколько раз она должна запросить у меня два числа. После того, как я дам два числа, он должен найти 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;

}

1 ответ

cout находится в буфере и не будет ничего отображать, пока 1) не будет предоставлено достаточно данных или 2) не будет сброшено.

Измените эту строку:

cout << wynik ;

К этому:

cout << wynik << endl;

И вы должны увидеть некоторые результаты.


Кроме того, вы должны рассмотреть возможность исправления отступа. В настоящее время это очень вводит в заблуждение. Главный for выстраивается с while и внутренний do выстраивается с else if,

Другие вопросы по тегам