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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
marina5
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 10
#1

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

04.01.2015, 10:41. Просмотров 1548. Ответов 4
Метки нет (Все метки)

Здравствуйте. Помогите написать алгоритм к заданию:

Дано натуральное N. Составить программу для поиска первой цифры этого числа.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 10:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти первую цифру числа (C++):

найти первую цифру числа в массиве с++ - C++
добрый день всем! не могу понять с чего начать (с++): "В массиве из целых чисел найти среднее арифметическое тех чисел, запись которых...

Найти первую цифру заданного натурального числа - C++
Дано натуральное число n, найти первую цифру числа n. (c++) ?

Дано натуральное число n, найти первую цифру числа n - C++
Дано натуральное число n, найти первую цифру числа n. (c++) ?

Дано натуральное число n, найти первую цифру числа n - C++
Дано натуральное число n (n ≤ 100), найти первую цифру числа n. На паскале пожалуйста срочно надо!

Увеличить первую цифру числа на 2 - C++
Дано натуральное число N, прибавить к первой цифре числа 2, пример: 49-69, 128-328.

Узнать первую цифру целого числа - C++
Узнать первую цифру целого числа

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.01.2015, 10:44 #2
Нулевая цифра равна остатку от деления на основание, сдвиг влево эквивалентен делению на цело на основание, причём, результат сдвига - это частное. Сначала надо сдвинуть, чтоб цифра стала нулевой, потом вычислить остаток.
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
04.01.2015, 10:48 #3
C++
1
2
3
4
5
6
7
8
9
10
int firstDigit(int n)
{
   int k;
   do
   {
      k=n;
      n/=10;
   }while(n);
   return k;
}
0
TrueTerm
166 / 114 / 37
Регистрация: 25.12.2014
Сообщений: 374
04.01.2015, 11:04 #4
marina5, первая цифра- значит самая левая? Тут возможны разные подходы.
1)Можно преобразовать число в строку и взять самый левый символ. Правда некоторые функции преобразования могут подсунуть пробел перед числом в качестве знака, это уже нужно смотреть в конкретной системе.
2)целая часть (не округление, а отбрасывание дробной части) от десятичного логорифма N, как раз даёт количество цифр, которые надо обрезать справа, чтобы осталась одна искомая циферка. Обрезать столько цифр можно в цикле или разделив N на 10 в этой степени. Тут проблемы могут быть с точностью вычисления логарифма (вдруг перескочит и лишнюю цифру обрежет). И логарифм нуля не определён. Если 0 считается натуральным числом, то этот случай надо предусмотреть отдельно.
3)но скорее всего ожидается просто цикл "пока число больше 9, разделить его нацело на 10".
Вот то, что останется от числа после этого цикла, и будет искомой цифрой.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.01.2015, 11:53 #5
Вот только цифры нумеруются по-англо-еврейски: справа на лево и с ноля.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 11:53
Привет! Вот еще темы с ответами:

Как выбрать первую цифру из числа? - C++
нужно ввести любое число и выбрать из него первую цифру. помогите пожалуйста. среда программирования dev-c++.

Переставить первую и последнюю цифру числа местами - C++
Дано какое-то целое число n. 1. Найти количество цифр 3, т.е. сколько троек в числе . 2. Получить число в обратном порядке без тройки...

Определить первую цифру дробной части числа - C++
дано вещественное число.определить первую цифру дробную части.

Переставить первую цифру числа в разряд единиц - C++
Всем привет. Я здесь новичок, как собственно и в программировании на С++. Пожалуйста объясните мне, как работает эта программа. Я никак не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.01.2015, 11:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru