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

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

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

Листинг из книги Лафоре - C++

17.01.2011, 22:28. Просмотров 1003. Ответов 1
Метки нет (Все метки)

Добрый вечер.

Хочу попросить помощи: в третьей главе книги Лафоре идет объяснение циклов, начинается с цикла for.
В данной главе есть следующий пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
{
    unsigned int numb;
    unsigned long fact = 1;
    cout << "Insert integral number: ";
    cin >> numb;
    for(int j = numb; j > 0; j--)
    {
        fact *= j;
    }
    cout << "Factorial of number is: " << fact << endl;
    return 0;
}
Хочу попросить, тех кто знает, прояснить два момента:
1. Почему переменной fact присваивается значение 1? (тестировал, без данного присвоения программа генерирует неверный результат).
2. Почему введенное пользователем число присваивается инициализированной в цикле переменной, а не используется сама переменная numb в данном цикле? (опять же проверял, без подобной инициализации генерируется ошибочное значение).

Буду очень благодарен за разъяснение данных моментов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 22:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Листинг из книги Лафоре (C++):

Не компилируется листинг "Передача по ссылке аргументов" Р.Лафоре - C++
Вообщем в 5 Главе имеется листинг. Набрал его в Visual Studio 2013. При компиляции выдает ошибку. Пожалуйста, помогите разобраться! ...

Пример из книги Лафоре - C++
Здравствуйте! Не могли бы подсказать, по какой причине в листинге ниже переменные должны быть обязательно быть изначально изначально с...

Пример из книги Лафоре - C++
В третьей главе книги Лафоре по с++ есть пример использующий функцию getche(): #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

Задания из книги Р. Лафоре - C++
Добрый день, решаю задачу из книги Лафоре. Если в двух словах, то нужно перевести строку в long double. Вот листинг решения: ...

Рекурсия с++ из книги Лафоре - C++
Что за принцип у работы рекурсии? // factor2.cpp // подсчет факториала числа с помощью рекурсии #include &lt;iostream&gt; using...

Упражнение из книги Лафоре - C++
//11.cpp #include &lt;iostream&gt; using namespace std; class sterling { private: long pounds; int shil; int pens;

1
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
18.01.2011, 02:24 #2
Цитата Сообщение от zabuka Посмотреть сообщение
1. Почему переменной fact присваивается значение 1? (тестировал, без данного присвоения программа генерирует неверный результат).
ты вообще в курсе что программа делает?
здесь идет вычисление факториала.
как бы тебе объяснить... когда создается переменная, то ее значение какое-то левое (если она не глобальная). Соот-но факториал n! = 1 * 2 * .. * n. Если ты не придашь значение начальное переменной fact, то у тебя получится итоговое значение fact = 1 * 2 * .. * n * (какое-то левое значение) . Соот-но чтобы получить верное значение, нужно присвоить изначально 1
Цитата Сообщение от zabuka Посмотреть сообщение
2. Почему введенное пользователем число присваивается инициализированной в цикле переменной, а не используется сама переменная numb в данном цикле?
можно и так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
{
    unsigned int numb;
    unsigned long fact = 1;
    cout << "Insert integral number: ";
    cin >> numb;
    for(; numb > 0; numb--)
    {
        fact *= numb;
    }
    cout << "Factorial of number is: " << fact << endl;
    return 0;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2011, 02:24
Привет! Вот еще темы с ответами:

Задания из книги Р. Лафоре - C++
Приветствую всех! Выполняю задание из книги Р. Лафоре &quot;ООП в С++&quot;. Задание главы 7. Одним из недостатков C++ являеться отсутствие...

Не работает пример из книги Лафоре - C++
Доброго времени суток! Взялся решать задачу из книги Лафоре, глава 9, упр. 2. Опробовал уже готовое решение из самой книги- не работает. ...

Карточная игра из книги Лафоре - C++
помогите плиз с парой вопросов. заранее спасибо.(2 вопроса в комментариях) // cardaray.cpp // класс игральных карт #include...

Задача 7 главы 7 из книги Р. Лафоре. Строки - C++
Добрый день! Недавно начал изучать С++ по, наверное, уже всем поднадоевшему, учебнику Роберта Лафоре. На данный момент изучаю главу с...


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

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

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