Воскресенье, 05 Мая 2024, 18:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Какого?! (Факториал числа)
Какого?!
ИгроделДата: Понедельник, 05 Апреля 2010, 18:39 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Code
#include <iostream>
#include <windows.h>
using namespace std;

int factorial(int num);

int main()
{
        int n;
        cout << "Enter a number and press ENTER: ";
        cin >> n;
        cout << "Function returned: " << factorial(n);
        system("pause");
        return 0;
}

int factorial(int n)
{
        int i;
        int um;
        for(i = 1; i <= n; i++)
        um *= i;
        return um;
}

Почему здесь
Code
um *= i;
он в консоли не пишет результат, а пишет 0?


Pascal/Delphi/C++/HTML/CSS/jQuery/FLASH
ApatiДата: Понедельник, 05 Апреля 2010, 18:49 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
исправь
Code
int um;

на
Code
int um=1;
VinchensooДата: Понедельник, 05 Апреля 2010, 18:51 | Сообщение # 3
Злобный социопат с комплексом Бога
Сейчас нет на сайте
самые азы программирования, всегда нужно задавать начальные значения

ИгроделДата: Понедельник, 05 Апреля 2010, 19:03 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Apati спасибо, и тебе Vinchensoo smile обоим плюс

Добавлено (05.04.2010, 18:58)
---------------------------------------------
а если указать так

Code
um = 0;
?

Добавлено (05.04.2010, 19:03)
---------------------------------------------
Я пробовал так um = 0 , но он пишет мне 0, а если um = 1, то все правильно, почему?


Pascal/Delphi/C++/HTML/CSS/jQuery/FLASH


Сообщение отредактировал Игродел - Понедельник, 05 Апреля 2010, 18:56
ApatiДата: Понедельник, 05 Апреля 2010, 19:08 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Quote (Игродел)
Я пробовал так um = 0 , но он пишет мне 0, а если um = 1, то все правильно, почему?

да потому что при умножении на ноль результат - ноль. У тебя же ниже стоит um*=i; , вот um и не увеличивается. А если в um стоит 1, то она сначала умножается на 1 - получается 1, потом на 2 - получается 2, потом на 3 - результат 6 и так далее.


Сообщение отредактировал Apati - Понедельник, 05 Апреля 2010, 19:09
ИгроделДата: Понедельник, 05 Апреля 2010, 19:39 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Ой, точно, сорри сразу не понял, вечером уже плохо соображаю biggrin ))))спасибо! smile

Pascal/Delphi/C++/HTML/CSS/jQuery/FLASH
Форум игроделов » Программирование » C/C++ » Какого?! (Факториал числа)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг