Как в C++ под Linux узнать длину числа ?
если точнее то мне надо 123456 запихать в массив, что бы сравнить с другими числами, типа с
1234567
55446778
12346789
т.е. в 123456789 самое длинное число с вхождением 123456.
Длина строки
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Че-то я не понял если у тебя число хранится как число - long int etc то можно его делить на 10 и считать количество таких делений пока не получится ноль если же у тебя в char[] поцифрам то есть метод strlen() если у тебя std::string то там вроде ест ьметод length или что-то такое - нет справочника под рукой
В SAD - все в SAD.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Исли число - long, то можно поступить проще. Есть такая замечательная математическая функция, как логарифм. Езли взять логарифм по основанию 10 от любого числа, отсечь дробную часть а потом прибавить 1 - получим количество цифр в числе. (для отрицательных чисел и нуля подход неверен потому как, логарифм определён только на положительной полуоси, а lim log (n) = -inf , (n -> 0+)).
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Блин, Romeo/// Проверил твоё утверждение... Просто супер, обязательно запомню 

Усложнять - легко, упрощать - сложно
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Математика - неимоверно мощное оружие. Это тебе не по клавишам стучать 

Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
А почему только для long?Исли число - long, то можно поступить проще.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Конечно же имял ввиду просто целое число, извиняюсь, господа. Сказалась привычка программирования на 32-битной платформе, где все целые удобно делать long для оптимизации программы по скорости.А почему только для long?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.