Это может быть полный вопрос новичка, но я еще не нашел ответ, который работает для меня.
В настоящее время я пишу программу для класса, которая принимает пользовательский ввод (который может быть одним или несколькими числами, разделенными пробелами), а затем определяет, является ли число простым, совершенным или ни того, ни другого. Если число идеально, то он будет отображать делители.
До сих пор я уже написал код для простого, совершенного и перечисления делителей. Я застрял на входной части моей программы. Я не знаю, как получить входные данные, разделенные пробелами, чтобы пройти через мои циклы по одному.
Это моя текущая программа:
cout<<"Enter a number, or numbers separated by a space, between 1 and 1000."<<endl;
cin>>num;
while (divisor<=num)
if(num%divisor==0)
{
cout<<divisor<<endl;
total=total+divisor;
divisor++;
}
else divisor++;
if(total==num*2)
cout<<"The number you entered is perfect!"<<endl;
else cout<<"The number you entered is not perfect!"<<endl;
if(num==2||num==3||num==5||num==7)
cout<<"The number you entered is prime!"<<endl;
else if(num%2==0||num%3==0||num%5==0||num%7==0)
cout<<"The number you entered is not prime!"<<endl;
else cout<<"The number you entered is prime!"<<endl;
return 0;
Это работает, но только для одного номера. Если бы кто-нибудь мог помочь мне сделать так, чтобы он мог читать несколько входов, разделенных пробелами, это было бы очень признательно. Кроме того, просто примечание, я не знаю, сколько чисел будет введено, поэтому я не могу просто сделать переменную для каждого. Это будет случайное количество чисел.
Спасибо!