Пишу программу на статистику, и мне необходимо посчитать квартили.
Проблема состоит в том что всё время проходит установка else
, и непонятно, почему код не работает:
В моём случае n=130
и на i=2
и i=4
должно срабатывать
tmp == (ceil(tmp)-1)
округляем к большему и отнимаем единицу
void KvartilC(vector<int>&X,float n)
{
for(int i=1;i<=4;i++)
{
float tmp = (i*n) / 4; // если число целое то подходит, если нет то
//квартиля нет
if (tmp == (ceil(tmp)-1)) // проверка на целочисельность
{
cout <<"Qvartil_"<<i<<" : "<< X[tmp]<< endl;
}
else
{
cout << "Ne isnuje Qvartila_"<<i<< endl;
}
}
}
А просто посчитать и посмотреть что мешает?
float n = 130;
for(int i = 1; i <= 4; i++)
{
float tmp = (i*n) / 4;
cout << "tmp = " << tmp << " ceil.. = " << (ceil(tmp)-1) << endl;
}
дает
tmp = 32.5 ceil.. = 32
tmp = 65 ceil.. = 64
tmp = 97.5 ceil.. = 97
tmp = 130 ceil.. = 129
Еще вопросы есть? :) Прочтите внимательно, как ceil
выполняет округление...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу добавить в проект библиотеку POCO, попытался сделать это через Conan и что получилосьЧтобы импортировать ее в проект, нужно указать полный...
у меня есть функция, которая одинаково обрабатывает данные для разных типов данных, чтобы не плодить лишнего кода решил обойтись шаблонами,...
При разработке под iphone на Swifte возникла необходимость вызвать функцию на C++С этой задачей легко справились