Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 22:20   #1
comcor2013
 
Регистрация: 03.03.2013
Сообщений: 5
По умолчанию Функция, определяющия количество цифр в дробной и целой частях числа

Не получается написать ее
comcor2013 вне форума Ответить с цитированием
Старый 04.03.2013, 04:59   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Какой язык программирования?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 04.03.2013, 12:11   #3
comcor2013
 
Регистрация: 03.03.2013
Сообщений: 5
По умолчанию

Bugrimov, С++
comcor2013 вне форума Ответить с цитированием
Старый 04.03.2013, 12:19   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

У Вас есть какие-нибудь наброски? Что-нибудь пробовали писать....
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 04.03.2013, 12:39   #5
comcor2013
 
Регистрация: 03.03.2013
Сообщений: 5
По умолчанию

Нету.. Пытаюсь. У меня задание еще занести число в строку. Число вещественное. Я как понял нужно найти точку и подсчитать, сколько чисел до точки и после и с учетом 0
comcor2013 вне форума Ответить с цитированием
Старый 04.03.2013, 13:00   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Нету.. Пытаюсь. У меня задание еще занести число в строку. Число вещественное. Я как понял нужно найти точку и подсчитать, сколько чисел до точки и после и с учетом 0
Что на входе, что на выходе?
Число десятичных цифр в дробной части числа 1/3 не определено. Число десятичных цифр в дробной части числа 17/1000 не равно числу десятичных цифр в дробной части числа f, определённого как
Код:
float f = 17.0/1000;
К дробной части, если она конечна, можно приписать произвольное количество нулей. С учётом всех перечисленных проблем, попробуйте внятно сформулировать, какую задачу Вы решаете.
Abstraction вне форума Ответить с цитированием
Старый 04.03.2013, 19:02   #7
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Код:
#include <iostream>
using namespace std;

void CountDigitsAndMantissaAmnt(char *val, int &int_amnt, int &fract_amnt) {//подсчетт кол-ва чисел в дробной и целой части числа
	int i;
	int_amnt=0;
	fract_amnt=0;
	for (i=0; val[i]!='.'; i++)
		int_amnt++;
	for (; val[i+1]!='\0'; i++)
		fract_amnt++;
}

int IsDoubleCorrect(char *val) {//проверка на правильность формы вводимого числа
	size_t i;
	for (i=1; i<strlen(val); ) {
		if (val[i-1]=='.' && val[i]!='\0')
			return 1;
		else i++;
	}
	return 0;
}

void main() {
	char val_str[100];
	double val_float;
	int int_amnt, fract_amnt;
	cout << "Enter value: ";
	gets(val_str);
	while (IsDoubleCorrect(val_str)==0) {
		cout << "Wrong form of value. Re-enter: ";
		fflush(stdin);
		gets(val_str);
	}
	CountDigitsAndMantissaAmnt(val_str, int_amnt, fract_amnt);
	cout << "Int part amnt: " << int_amnt << "\n";
	cout << "Fraction part amnt: " << fract_amnt << "\n";
	val_float=atof(val_str);//перевод строки в значение типа double
	cout << "Original val: " << val_float << "\n";
    system("pause");
}
Реализовал так

Последний раз редактировалось Igor95; 04.03.2013 в 19:36. Причина: Добавил проверку на правильность числа
Igor95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделитель целой и дробной части IgorGO Microsoft Office Excel 3 25.11.2012 11:08
задача - найти произведение первой цифры целой части и третей цифры дробной части вещественного числа. LAZARUS maks22 Lazarus, Free Pascal, CodeTyphon 2 30.01.2012 19:53
Разделитель дробной и целой частей числа voron29 Win Api 2 17.12.2008 10:56
Разделитель целой и дробной части neugadal Microsoft Office Excel 3 09.10.2008 07:20