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

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

Войти
Регистрация
Восстановить пароль
 
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
#1

Что не так в программе для нахождения факториала? - C++

05.11.2011, 21:01. Просмотров 505. Ответов 4
Метки нет (Все метки)

Вроде бы всё так, но учитель говорит переделать...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int n, res=1;
cout<<"Vvedite chislo N:\n";
cin>>n;
for (int i=0; i<=n; i++)
{
        res=n*i;
}
cout<<res;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2011, 21:01     Что не так в программе для нахождения факториала?
Посмотрите здесь:

ошибка в программе, что не так.. C++
C++ что не так в программе? Виснет при компиляции
что не так в программе, выдает ошибку... C++
C++ Что не так в программе? (цикл While)
Написать программу нахождения факториала числа в виде рекурсивной функции C++
Написать программу нахождения факториала числа в виде рекурсивной функции C++
C++ Помогите исправить ошибки в программе. Не пойму что не так
Объясните что не так с указателем в программе C++
C++ Что-то не так в программе (при нажатии кнопок со стрелками по консоли движется символ)
C++ Составить функцию нахождения факториала
С моим кодом что-то не так! на калькуляторе одно число,а в программе другое( C++
Как сделать так что бы для каждого игрока генерировался новый вектор? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.11.2011, 21:27     Что не так в программе для нахождения факториала? #2
Цитата Сообщение от jock Посмотреть сообщение
int i=0
res сначала умножиться на 0, а затем этот 0 будет умножаться на что-то. В ответе стабильно будет 0.
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
05.11.2011, 21:31     Что не так в программе для нахождения факториала? #3
Программа не считает факториал, у тебя каждая итерация в цикле перезаписывает значение res.
поменяй цикл на
C++
1
2
3
4
for (int i=1; i<=n; i++)
{
                res*=i;
}
Добавлено через 50 секунд
Цитата Сообщение от diagon Посмотреть сообщение
res сначала умножиться на 0, а затем этот 0 будет умножаться на что-то. В ответе стабильно будет 0.
нуля не будет, будет стабильно n*n в ответе
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.11.2011, 21:33     Что не так в программе для нахождения факториала? #4
Цитата Сообщение от edward_jonson Посмотреть сообщение
нуля не будет, будет стабильно n*n в ответе
А, ну да, не разглядел.
Алгоритм вообще никакой тогда.
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
05.11.2011, 21:39     Что не так в программе для нахождения факториала? #5
Вот тебе две функции на вычисление факториала рекурсивно и итеративно:
C++
1
2
3
4
5
6
7
long fact(long n)
{
    long answer;
    if (n == 1) return 1;
    answer = fact(n - 1) * n;
    return answer;
}
C++
1
2
3
4
5
6
7
long fact(long n)
{
    long answer = 1;
    if (n == 1) return answer;
    for (long i = 1; i <= n; ++i) answer *= i;
    return answer;
}
Yandex
Объявления
05.11.2011, 21:39     Что не так в программе для нахождения факториала?
Ответ Создать тему
Опции темы

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