Дан массив из 5 вещественных чисел в нём надо найти элемент в котором наибольшее кол-во подряд идущих нулей нулей.
Не вижу проблемы.
Как вариант:
Взять дробную часть (Frac).
Перевести ее в строку (str).
А уж нахождение "наибольшее кол-во подряд" решалось много-много раз.
Поиск Вам поможет.
Пользоваться строками запрещено. Пытаюсь перевести число в целое путём умножения его на 10 в цикле а потом с помощью div и mod находить каждый символ в числе. Но проблема почему то после выполнения числа получаются аж в 12 степени
Целую часть - отдельно. Дробную - отдельно.
Дробную - умножением на 10 и переводом в целое. Далее выделяешь остатки от деления нацело (mod) и проверка.
А не подскажите ли условие при котором проверяется достигла ли дробная часть целого числа, а то я понял что frac не подходит в цикле с предусловием?
Опять условие предполагает уточнение, которое какжется очевидным всем кроме меня?
Если речь идет о числе, а не о его текстовой записи, то нули могут быть только одного вида - двоичные. Т.е. число следует проверять поразрядно на количество подряд идущих разрядов, установленных в 0.
while frac(x)>0 do x:=x*10Так, на этом же примере цикл выполнился больше раз чем нужно, поэтому можно записать
while frac(x)>0.00000001 do x:=x*10
Можь кто скажет почему у меня после умножения дробной части на 10 , в ответе выводится число со степенью 12(мне стока ноликов не надо)