Исправьте на с++

C++ задача с++ си

#include <iostream>
using namespace std;
int nok(int a, int b);//Объявляем nok
int kbananov,n1,n2;//думаю тут понятно
int x;
int main ()
{
cin >>kbananov>>n1>>n2;
if(kbananov>1000 || (!n1<10000) || (!n2>10000))//если число больше чем надо - выходим
{
exit(0);
}else
{
int x= nok(n1,n2);
x=(x==kbananov) ? kbananov : (x-kbananov) ;//Если х==колличеству бананов,значит х равен количеству бананов, иначе он равен х минус бананы
cout<<"Result= "<<x<<endl;//Выводим результат

}
return 0;
}

int nok(int x, int y)
{
int count=(x>y) ? x : y; //Вычисляем большее число,от которого будем отталкиваться в цикле
for (int i=count; ; i++)
{
if (!(i%x) && !(i%y))//если число i кратно сразу числам x и y,значит это есть наше НОК
{
cout<<"aa"<<i;
return i;//Возвращаем НОК

}
}
}
Раньше всё было нормально и выводилось число.А теперь программа просто завершает работу

Примечание:
Я пишу на макинтоше,и у меня не консольное окно.У меня GNU Debugger,пишет просто
"[Switching to process 5945]
12
4
6
Program exited with status value:0."

Примечание:
12,4,6 - это я вводил если что

Примечание:
for (int i=count; ; i++)
Это всё было нормально.Цикл бесконечный пока не найдется число,у меня оно находилось за 1 сек.А сейчас просто ничего не показывает

Примечание:
Да,и вправду напортачил блин…!
Спасибо за помощь!
Ответы:
Он выводит на экран Result=... и тут-же закрывается или ничего не выводит и сразу закрывается. Проверьте это. После строки cout<<"Result= "<<x<<endl; напишите:
system("pause");
Ошибка логическая в этой чати кода if(kbananov>1000 || (!n1<10000) || (!n2>10000))
!n1 дает всегда 0, если n1 не равен 0, выохдит что Ваше условие выполняется, а значит выполняется и блок с функцией выхода exit(0)
Научитесь пользоваться дебаггером, это поможет Вам быстро обнаруживать ошибки.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.