С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/225: Рейтинг темы: голосов - 225, средняя оценка - 4.93
13 / 13 / 0
Регистрация: 27.12.2010
Сообщений: 83
1

Функция trunc в C++

12.05.2011, 20:19. Показов 44548. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Знаю что на Pascal есть функция trunс!
Мне нужна такая функция в С++! Искал по инету и ничего не нашел!
Если такая есть то напишите какой модуль подключить и как ее использовать...

Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2011, 20:19
Ответы с готовыми решениями:

trunc и frac в C++
С функцией trunc вроде разобралась, что в С++ она заменяется на floor.Правильно?? А frac на какую...

Call to undefined function 'trunc'
for (int i=0 ; i<127; i++) { YVal = abs(FFTData); YPos =...

что такое trunc в pascal и на какой оператор его заменить в С++??
... REPEAT m1:=int(w1/h); m:=trunc(m1); for j:=1 to m do begin ...

Не работает корректно ios_base::trunc | ios_base::out
Вкратце суть проблемы в том, что запись(ниже) не удаляет содержимое файла, а записывает данные в...

8
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
12.05.2011, 20:22 2
floor для положительных чисел, а для отрицательных не знаю, попробуйте...
0
5 / 4 / 0
Регистрация: 18.10.2009
Сообщений: 69
12.05.2011, 20:24 3
Jumper19, просто присваиваешь переменной целочисленного типа, переменную вещественного типа, аля:
C++
1
2
float y = 1.55;
int x = y;
в x будет 1
0
13 / 13 / 0
Регистрация: 27.12.2010
Сообщений: 83
12.05.2011, 20:41  [ТС] 4
О! Спасибо большое! Работает!

Добавлено через 16 минут
Ну тогда еще вот такое:
Как число например 1,694 => 0,694
или 2,554 => 0,554

Ну тоесть любое число *,*** переобразовать в 0,***

Заранее благодарен!
0
222 / 135 / 19
Регистрация: 06.11.2010
Сообщений: 234
12.05.2011, 20:45 5
C++
1
2
double X = 2.554;
X -= (int)X;
0
13 / 13 / 0
Регистрация: 27.12.2010
Сообщений: 83
12.05.2011, 21:29  [ТС] 6
О! Спасибо всем! Написал я прогу которая делает то что мне нужно, Переводит правильную дробь в двоичную систему!

Может кому нужно:
Код
// 30.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <math.h>

using namespace std;

void out (int x[100], int y, int g[100])
{
	cout<<x[0]<<".";
	for (int i=0; i<y; i++)
	{
		cout<<g[i];
	}
	cout<<"\n";
}

void main ()
{
	setlocale (0, "rus");
	int x[100], g[100];
	int a, b, i, y;
	double ch, f, temp;
	i=0;
	cout<<"Введите число в десятичной системе числения: ";
	cin>>ch;
	temp=ch;
	cout<<"До скольки значущих цифр после комы выполнить перевод?"<<"\n";
	cout<<"До: ";
	cin>>b;
	y=b;
	a=floor(ch);
	x[i]=a;
	while (b!=0)
	{
		ch=ch*2;
		f=ch;
		g[i]=floor(f);
		ch-=(int)ch;
		i++;
		b--;
	}
	cout<<"Число "<<temp<<" в двоичной системе:"<<"\n";
	out (x, y, g);
	system ("pause");

	//by R. Olshevsky (http://www.warez-0k.ru/)
}
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
13.05.2011, 00:00 7
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <math.h>
 
int main()
{
    double a;
    double b = modf(2.554, &a);
    printf("%lf\n%lf\n", a, b);
 
    return 0;
}
0
bigbang99222
09.08.2012, 10:46 8
Есть одна функции ceil()-округление числа в большую сторону и floor()-округление числа в меньшую сторону.
ceil(2.3)->3.0
floor(2.3)->2.0
0 / 0 / 0
Регистрация: 04.09.2019
Сообщений: 2
20.09.2019, 18:40 9
C++
1
2
3
4
5
float a = 1.5;
//Явное приведение типов само округлит твоё число
int b = static_cast<int>(a); 
//Можно ещё и не явно привести, но компилятор ругаться будет
int c = a;
0
20.09.2019, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2019, 18:40
Помогаю со студенческими работами здесь

Trunc
{Вечный календарь с помесячным выводом} uses crt,graph; const WEEK:array of string =...

N:=trunc(Xk+Xn)/dX+1)
помогите пожалуйста! что обозначает эта функция? N:=trunc((Xk+Xn)/dX+1)

trunc vs div
Какая разница между функциями trunc() и div? Взбрело в голову. Добавлено через 51 минуту Понял!...

почему Trunc(7) = 6 ?
Вот совсем недавно попал на такою ошибку в паскале : при 128 она пишет не правильный результат! а...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru