Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
drunkwolfs
9 / 9 / 6
Регистрация: 24.05.2013
Сообщений: 349
#1

Деление двух int равно нулю - C++

09.02.2016, 14:25. Просмотров 331. Ответов 4
Метки нет (Все метки)

делю 206 на 255
результат записываю во float, но переменная всегда имеет значение 0!
почему?
C++
1
2
3
int Height = 206;
int YMax = 255;
float iHeightLineStepY = Height/YMax;
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 14:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Деление двух int равно нулю (C++):

Определить, равно ли число (двумерного массива) нулю. Если равно, то вместо нуля записываем указанный символ
Вот что нужно написать кодом: сравнить, равно ли число (двумерного массива)...

Почему равно нулю?
Здравствуйте!У меня проблемы с кодом!Оно всегда равняется нулю,а должно к...

Время выполнения программы равно нулю
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { ...

Почему 100/102 равно нулю?
Когда на С++ считаю 100/102 с использованием флоат и дубль, он мне выдает 0,...

Разрешено ли деление на ноль, если числитель равен нулю
Разрешено ли деление на ноль, если числитель тоже ноль.

Остановить цикл ввода последовательности, если введенное значение равно нулю.
В простую переменную последовательно вводятся числа. Окончание ввода 0. Сколько...

4
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
09.02.2016, 14:36 #2
Лучший ответ Сообщение было отмечено drunkwolfs как решение

Решение

0 < 206/255 <1 по правилам приведения округляется к меньшему.

C++
1
float iHeightLineStepY = (float )Height/YMax;

http://cppstudio.com/post/5343/
1
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
09.02.2016, 14:37 #3
Цитата Сообщение от drunkwolfs Посмотреть сообщение
почему?
потому что 1/2 == 0.
0
Игорь1986
121 / 114 / 57
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
09.02.2016, 14:40 #4
Короче говоря для того чтобы получать правильное число необходимо хотя бы одно из чисел или делимое или делитель привести к тому же типу который ты жаждешь получить вот и все
0
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
09.02.2016, 14:44 #5
drunkwolfs, 1/2 означает, что int вызовет оператор деления для другого int: и вернёт int

C++
1
int operator/(const int left, const int right);
итого у вас выйдет
C++
1
float a = 0;
Одно из решений:
C++
1
float iHeightLineStepY = Height * 1.0f / YMax;
1
09.02.2016, 14:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2016, 14:44
Привет! Вот еще темы с решениями:

Как правильно создать массив из номеров элементов, значения которых равно нулю
Добрый день! Передо мной стоит следующая цель: создать новый массив из номеров...

Выведите массив на экран и найдите количество элементов, значение которых равно нулю
&quot;Данный двухмерный массив размерностью 5X4. Заполните его случайными числами с...

Из заданой марицы A(N,N)удалить строку и столбец, в которых находяться первый элемент, равно нулю.
Из заданой марицы A(N,N)удалить строку и столбец, в которых находяться первый...

Даны три числа a, b, c. Если хотя бы одно из них равно нулю с погрешностью , то вычислить сумму этих чисел, в противном
Помогите доделать программу. Даны три числа a, b, c. Если хотя бы одно из них...


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

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

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