Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2021, 09:57   #1
Lenmar
Новичок
Джуниор
 
Регистрация: 15.10.2021
Сообщений: 2
Вопрос Задача с натуральными числами в с++

Добрый день,
помогите, пожалуйста, разобраться с кодом. Он в черновом варианте, работает, но с ошибками

Задача:
Given natural number n. Print all the factors of n.
При вводе не натурального числа программа должна выдавать сообщение об ошибке.
После выполнения операции, программа должна предложить повторить операцию.

Код:
#include <iostream>

using namespace std;

int main() {
    long long int n, i;

    cout << "Please, enter a number: ";
    cin >> n;
    
    cout << "Factors of " << n << " are: ";
    for(i = 1; i <= n; ++i) {
        if(n % i == 0)
            cout << i << " ";
    }
  if (n > 0);
        else {
            while (n <= 0) cout << "Please enter the correct number: ";
            cin >> n;
            }
   char ch;
   do
   {
    cout << "To continue press 'y', to exit press any other key"; cin >> ch;
   }     
   while (ch=='Y' || ch=='y');
   
   return 0;
}

Последний раз редактировалось BDA; 17.10.2021 в 03:22.
Lenmar вне форума Ответить с цитированием
Старый 15.10.2021, 12:43   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

1. Смысл проверять на натуральность после того как вывели делители?
2.
Код:
while (n <= 0) cout << "Please enter the correct number: ";
Вечный цикл, т.к. n никогда не меняется.
3.
Код:
do
{
cout << "To continue press 'y', to exit press any other key"; cin >> ch;
}
while (ch=='Y' || ch=='y');
Вечно повторять нажмите y?.. Вы уверены, что не всю программу хотели повторять?
ForenLi вне форума Ответить с цитированием
Старый 15.10.2021, 13:04   #3
Lenmar
Новичок
Джуниор
 
Регистрация: 15.10.2021
Сообщений: 2
По умолчанию

Спасибо за ответ, я разобрался. Сейчас все работает
Lenmar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Работа с натуральными числами Юлия98 Помощь студентам 3 25.10.2016 17:42
C++. Тема: программы работающие с натуральными числами Юлия98 Помощь студентам 1 19.10.2016 23:09
Работа с натуральными числами Алискин Помощь студентам 2 17.10.2012 21:29
записать дату натуральными числами (С++) Alina5545 Помощь студентам 2 13.04.2010 22:05
записать дату натуральными числами Alina5545 Общие вопросы C/C++ 12 13.04.2010 22:03