Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
#1

Подсчитать факториал, циклически запрашивая ввод пользователем числа - исправить код - C++

08.07.2014, 01:28. Просмотров 246. Ответов 6
Метки нет (Все метки)

нужно подсчитать факториал, циклически запрашивая ввод пользователем числа, если пользователь введет 0 программа разрешиться.
она почти работает, но я не могу понять, почему первый цикл она считает правильно а последующие нет?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    unsigned int j;
    unsigned long fact = 1;  
    int ch;
        setlocale (0, "");
do 
{
 
    cout << "Введите целое число: ";
    cin >> j; 
 
    for(j; j > 0; j--)    
        fact *= j;                    
    cout << "Факториал числа равен " << fact << endl;
    cout << "еще раз? (нет - 0, да - 1)" << endl;
    cin >> ch;
} 
while (ch != 0);
 
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 01:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать факториал, циклически запрашивая ввод пользователем числа - исправить код (C++):

Проверить на ноль ввод пользователем знаменателя числа - C++
Добрый день. Программа делит или умножает 2 рациональных числа. Интересует в данном моменте возможность проверки введённого числа, что...

Ввод строки типа {a,b,c,d,f,{a,b,c,f},g,h,j}, исправить код - C++
Доброго времени суток всем, в общем нужно мне реализовать такую задачу: Ввод строки типа {a,b,c,d,f,{a,b,c,f},g,h,j} Что должно быть на...

Описать рекурсивные функции вещественного типа, вычисляющие факториал и двойной факториал заданного числа - C++
Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!!...

Найти все шестизначные счастливые числа (исправить код) - C++
Задание: Найти все шестизначные счастливые числа. Счастливое число - это число, у которого сумма левых трех цифр равна сумме правых трех....

Получив на вход число x, напечатает два числа a и b (помогите исправить код) - C++
Получив на вход число x, этот алгоритм печатает два числа a и b. include &lt;stdio.h&gt;; using namespace std; void main(){ int x, a, b ...

Написать рекурсивную функцию вычисления количества цифр натурального числа(исправить код) - C++
Написать рекурсивную функцию вычисления количества цифр натурального числа. Я вот написал, но программа считает только первые 9 чисел!...

6
Jewbacabra
Эксперт PHP
2582 / 2176 / 816
Регистрация: 24.04.2014
Сообщений: 6,477
08.07.2014, 01:33 #2
Pari, потому что на 1 итерации fact изначально равен 1, а на следующих - предыдущему факториалу
1
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
08.07.2014, 01:36  [ТС] #3
так ведь значение fact изменяется операциями j?..
хорошо, тогда как ее изменить?
наверное элементарные вопросы задаю, но это мои первые неуверенные шаги в написании хоть какого-то кода)
0
rikimaru2013
C++ Game Dev
2438 / 1132 / 240
Регистрация: 30.11.2013
Сообщений: 3,688
08.07.2014, 01:37 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    unsigned int j;
    unsigned long fact;  
    int ch;
        setlocale (0, "");
do 
{
    fact = 1;
    cout << "Введите целое число: ";
    cin >> j; 
 
    for(j; j > 0; j--)    
        fact *= j;                    
    cout << "Факториал числа равен " << fact << endl;
    cout << "еще раз? (нет - 0, да - 1)" << endl;
    cin >> ch;
} 
while (ch != 0);
 
    return 0;
}
1
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
08.07.2014, 01:38  [ТС] #5
так все так просто! спасибо)
туплю(
0
rikimaru2013
C++ Game Dev
2438 / 1132 / 240
Регистрация: 30.11.2013
Сообщений: 3,688
08.07.2014, 01:40 #6
Pari, меняйте свой процессор и прикупите ОЗУ
0
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
08.07.2014, 01:42  [ТС] #7
я знала что дело в этом
0
08.07.2014, 01:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2014, 01:42
Привет! Вот еще темы с ответами:

Найти факториал минимальной цифры введеного пользователем числа - Turbo Pascal
пользователь вводит натуральное число. найти факториал минимальной цифры введеного пользователем числа. использовать процедуры или функции.

Исправить в программном коде рандомное задание переменных, на ввод переменных пользователем - QBasic
Помогите пожалуйста замеить в программе задание чисел рандомно, на задание вручную. Тобиш чтобы был запрос &quot;введите координаты...

Вещественный ввод\вывод: исправить код - Assembler
Ребят, помогите пожалуйста разобраться почему программа не вводит и не выводит нормально вещ. число, сдавать нужно срочно. а я все никак не...

Ввод и вывод строкового массива, исправить код - Visual Basic .NET
'Процедура ввода элементов массива типа String с клавиатуры Sub vvodMac(ByRef a() As String, ByVal n As Single) Dim i As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru