Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

найти первую цифру числа в массиве с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Трабл с считыванием данных из бинарного файла http://www.cyberforum.ru/cpp-beginners/thread90023.html
суть проблемы, программа отлично работает с данными после запуска, считывает и записывает на диск как и положенно (это не сложно проверить поскок для хранения данных после ввода и считываемых с файла...
C++ открыть файл для добавления в начало какую из побитовых масок определенных в классе ios мне необходимо использовать чтобы добавлять в начало файла при новом вызове функции http://www.cyberforum.ru/cpp-beginners/thread90021.html
Массив из max элементов других двух C++
Пните, что не так. Ошибок не выдает, но работать функция func_max отказывается, ничего не печатает Задача функцией в качестве результата сформировать массив из max элементов других двух v.1...
C++ Три программы на циклы
Добрые люди помогите пожалуйста решить задачки!!! За ранее ОГРОМНОЕ СПАСИБО!!!! 1. Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000. (Число называется простым, если...
C++ Функции и эхо-контроль http://www.cyberforum.ru/cpp-beginners/thread89975.html
Даны положительные действительные числа А, Х, Е(epsilon). В последовательности У1,У2,... ,образованной по закону У0=А; Уi=1/2(Уi-1 +Х/Уi-1) , i=1,2,3,4........? (i, i-1 --индексы У) найти первый...
C++ Немного переделать программу Привет) На этой неделе защита лабараторных простейшие я сделал - одну с Вашей помощью здесь осталось две очень прошу помочь Задача Сортировка массивов Вот та задача похожая, которую я пытался... подробнее

Показать сообщение отдельно
mirso
525 / 343 / 17
Регистрация: 05.04.2009
Сообщений: 709
27.01.2010, 21:00
odip,
Цитата Сообщение от odip Посмотреть сообщение
Все-таки вещественные
Ты прав!
Вместо pow, надо powl.
C++
1
return (size_t)( x / powl ( 10, (size_t)log10l(x) ) );
Такой вариант до ста миллионов проверял. Ни одной ошибки.

Цитата Сообщение от odip Посмотреть сообщение
При x=0 или x<0 неправильно считает.
Отрицательные есесна не считает!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<math.h>
 
//-------------------------------------------------------------------
size_t f1(size_t x)
{
    return (size_t)( x / powl ( 10, (size_t)log10l(x) ) );        
}
//=================================================================== 
int main()
{
    
    std::cout << f1(0)         << std::endl;
    std::cout << f1(1000)      << std::endl;
    std::cout << f1(999999999) << std::endl; 
    std::cout << f1(100000000) << std::endl;    
    std::cout << f1 (UINT_MAX) << std::endl;
 
    return 0;
}//==================================================================
0
1
9
1
4
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru