Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
edik93
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 16
1

При делении 4/6 выдает 4 в цикле

06.11.2015, 20:33. Просмотров 814. Ответов 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
int TForm1::faktorial(int a)
{     int sumN=1;
                   for(int i=1;i<=a;i++)
                           sumN*=i;
      return sumN;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
 
{
    int x = 1,Z=0;
    Z = StrToInt(RichEdit1->Lines->Strings[0]);
        if(Z <= 0)
                  ShowMessage("Ââåäèòå  Z > 0");
    else {
    float summaNF = 0.0;
 
         for (int j=1;j<=Z;j++)
                {
                          summaNF += j/(faktorial(j-1));
                }
 
    RichEdit2->Lines->Add(AnsiString().sprintf("%2.16f",summaNF));}
 
}
Добавлено через 1 минуту
выдает summaNF (3) = 4 , а не 4.5 ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2015, 20:33
Ответы с готовыми решениями:

Программа при делении выдает целое значение а не дробное
Задание: Прибор состоит из трех узлов. При включении прибора с вероятностью P1...

Компилятор при делении больших чисел выдает не верный результат
Здравствуйте. Я только осваиваю азы программирования на С++. Компилятор...

Найти четырехзначные числа, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111
Составить программу поиска четырехзначных чисел в С++, которые при делении на...

Найти все пятизначные числа, которые при делении на A дают в остатке B, а при делении на C дают в остатке D
C++ Напишите программу, которая вводит четыре натуральных числа (a, b, c и d)...

Найти числа, которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 47
Мне нужно написать программу в Dev-C++ для поиска трехзначных чисел, которые...

4
Kuzia domovenok
2357 / 2091 / 494
Регистрация: 25.03.2012
Сообщений: 7,490
Записей в блоге: 1
06.11.2015, 20:51 2
Числа целые все. Откуда тут 4.5 возьмётся?
0
edik93
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 16
06.11.2015, 22:46  [ТС] 3
должно же быть summaNF 1 + 2 + 1.5(summaNF=3/faktorial(2))
0
Даценд
Модератор
Эксперт .NET
4163 / 3942 / 2611
Регистрация: 20.04.2015
Сообщений: 7,151
06.11.2015, 22:53 4
Лучший ответ Сообщение было отмечено edik93 как решение

Решение

edik93,
результат операций над целыми числами - всегда целое число
int/int=int
13/5=2
делайте так:
(float)13/5=2.6
т.е.
C++
1
summaNF += (float)j/(faktorial(j-1));
1
Barrent
246 / 122 / 54
Регистрация: 04.05.2013
Сообщений: 346
Завершенные тесты: 2
06.11.2015, 22:55 5
Лучший ответ Сообщение было отмечено edik93 как решение

Решение

Вот вам пища для размышлений
C++
1
2
3
int a = 5;
cout << a / 2 << endl;
cout << (double)a / 2 << endl;
1
06.11.2015, 22:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2015, 22:55

String::insert() в цикле выдает ошибку сегментации
Добрый вечер, есть такой вот кусок кода: string t = &quot;c-++a+--b&quot;;...

Округление при делении
Всем привет. Как математически округлить такое? int a = 7; int b = 4;...

Ошибка при делении
Как ни кручу все время получается r = 1. Я в вычислении что-то не так делаю или...


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

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

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