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

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

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

При делении 2 на 4 результат - 0 - C++

20.03.2014, 01:10. Просмотров 281. Ответов 1
Метки нет (Все метки)

Стыдно, но не могу понять, почему компилятор выдает 0.

Есть код функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int high = 0;
    int mid = 0;
    int h;
    int m;
    int in;
    for (int i = 0; i<Quant; i++)
    {
        if (strcmp("High", pCol[i].education)==0)
            high++;
        else if (strcmp("Mid", pCol[i].education)==0)
            mid++;
    }
    h = (high/Quant)*100;
    m = (mid/Quant)*100;
    in = 100 - h - m;
Задача - посчитать структуру.

При high = 2, a Quant = 4, выдает h = 0. Хотя я от него ожидаю 50.
Что я сделал не так?)

Добавлено через 2 минуты
А, понял. Т.к. все числа int он 0.5 округляет до 0.

Решил так h = high*100/Quant;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 01:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При делении 2 на 4 результат - 0 (C++):

Логическая ошибка: при делении результат всегда единица - C++
Ошибка заключается в том что в переменную L должен идти остаток деления L на 10, но почему то остаток всегда &quot;1&quot;, и не меняется. #include...

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

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

Ошибка при делении - C++
Как ни кручу все время получается r = 1. Я в вычислении что-то не так делаю или при выводе? double a, b, r; ...

При делении округляет - C++
Объясните мне, пожалуйста, такой казус: double e=0,k=2; e=352*k+1; e/=25; cout&lt;&lt;e&lt;&lt;endl; На экран выдает: 28,2 А когда...

Округление при делении - C++
Всем привет. Как математически округлить такое? int a = 7; int b = 4; double c = a/b; Суть в том, что а и b могут быть любые....

1
DrOffset
7312 / 4412 / 999
Регистрация: 30.01.2014
Сообщений: 7,245
20.03.2014, 01:22 #2
Цитата Сообщение от Chacka Посмотреть сообщение
А, понял. Т.к. все числа int он 0.5 округляет до 0.
Угу. Результат операции будет числом с плавающей точкой если один или оба аргумента - числа с плавающей точкой. Иначе результат выражения - целочисленный.
C++
1
h = high / float(Quant) * 100;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 01:22
Привет! Вот еще темы с ответами:

Калькулятор - исключение при делении на 0 - C++
Здравствуйте, я решил написать простой калькулятор, вот он: #include&lt;conio.h&gt; #include&lt;locale.h&gt; #include&lt;stdio.h&gt; #define END '0' ...

Ошибка при делении чисел - C++
Ошибка при делении чисел. Значения MaxEuroToDol и MaxEuroDolToEuro всегда получаются равными 1 или 0 (Проверка в строке 178). Задание:...

При делении 4/6 выдает 4 в цикле - C++
int TForm1::faktorial(int a) { int sumN=1; for(int i=1;i&lt;=a;i++) sumN*=i; ...

Что возвращать при делении на ноль? - C++
Что возвращать при делении на ноль? Или какое бросать исключение?


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

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

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