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

Определение количества разрядов у числа - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
28.07.2013, 14:37     Определение количества разрядов у числа #1
Написал программку, которая должна определять количество разрядов у чисел. При вводе двухзначных и трехзначных, программа правильно определяет разряд, но при вводе четырехзначных чисел и более, начинает определять неправильно. Помогите определить проблему.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std ;
int main()
{
    int dvoich, chislo,razryd = 0, del = 1;
    cout << "Enter 2-oe chislo: " ;
    cin >> dvoich ;
    chislo = dvoich ;
    while (chislo > 9)
    {
        chislo = chislo / del ;
        razryd++ ;
        del *= 10 ;
    }
    cout << razryd << endl ;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2013, 14:37     Определение количества разрядов у числа
Посмотрите здесь:

C++ Посчитать m последних разрядов числа n
определение количества разрядов числа через функцию C++
Массивы. Определение максимального целого числа из произвольного количества введенных значений C++
Проверить, как изменилось количество разрядов в числе M по сравнению с количеством разрядов числа N C++
C++ Определить значение двух последних разрядов двоичного числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
28.07.2013, 17:20     Определение количества разрядов у числа #21
Цитата Сообщение от Bend3r Посмотреть сообщение
Значит вы гавенный программист, если у вас эффективность, не на первом месте
в чем заключается эффективность использования % и / в отличии от нахождения логарифма?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
28.07.2013, 17:27     Определение количества разрядов у числа #22
Цитата Сообщение от Хулиган Посмотреть сообщение
в чем заключается эффективность использования % и / в отличии от нахождения логарифма?
Стоп, ну вы писали что о эффективности речи не было, я вам и ответил. А вопрос этот задайте гуглу.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2013, 17:29     Определение количества разрядов у числа #23
Цитата Сообщение от Хулиган Посмотреть сообщение
в чем заключается эффективность использования % и / в отличии от нахождения логарифма?

Не по теме:

достаточно взглянуть на разложение логарифма в степенной ряд и станет понятно, что там значительно больше операций.

Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
28.07.2013, 17:32     Определение количества разрядов у числа #24
Цитата Сообщение от Bend3r Посмотреть сообщение
А вопрос этот задайте гуглу
ну раз вы участвуете в данном обсуждении и можете рассуждать об умениях других, вы должны быть компетентны в данном вопросе, а то какашками кидаться все умеют!

Добавлено через 1 минуту
Цитата Сообщение от Thinker Посмотреть сообщение
ам значительно больше операций.
так мы говорим о эффективности или о быстродействии программы?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2013, 17:35     Определение количества разрядов у числа #25

Не по теме:

Хулиган, к вам никто не придирается, просто, в силу простоты вашего алгоритма, кто-то может не углядеть, что там больше вычислений, вот и все, а так, неплохой алгоритмик правда для long long пойдет ли



Добавлено через 46 секунд
Цитата Сообщение от Хулиган Посмотреть сообщение
так мы говорим о эффективности или о быстродействии программы?

Не по теме:

а разве это не одно и тоже (почти)?

Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
28.07.2013, 17:40     Определение количества разрядов у числа #26
Цитата Сообщение от Thinker Посмотреть сообщение
а разве это не одно и тоже (почти)?
Не всегда. Иногда необходимы долгие вычисления, но ответ будет правильнее, чем при быстрых вычислениях, но ответ будет менее точный.
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
28.07.2013, 17:41     Определение количества разрядов у числа #27
Цитата Сообщение от Thinker Посмотреть сообщение
к вам никто не придирается
та все нормально, просто подумал, что если менее эффективен, то при каких то обстоятельствах результат может быть неправильным, вот и уточнил, а тут ещё и товарищ которому надо сделать свой высер в комментарии, с целью показаться умнее, чем на самом деле)
fan_stud
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 5
28.07.2013, 22:23     Определение количества разрядов у числа #28
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned value, razryad(1); //число, разряд
 
    cin >> value;
 
    while ( (value / 10) != 0 ){
        value =  value / 10;
        razryad++;
   }
    cout << razryad;
}
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
28.07.2013, 23:22     Определение количества разрядов у числа #29
fan_stud, тогда уж просто:

C++
1
2
while(value /= 10)
    razryad++;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 13:25     Определение количества разрядов у числа
Еще ссылки по теме:

C++ Проверить как изменится количество разрядов в числе M по сравнению с количеством разрядов числа N
Определение количества нулей в двоичной записи числа C++
C++ Измерение количества единичных разрядов в файле

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

Или воспользуйтесь поиском по форуму:
fan_stud
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 5
29.07.2013, 13:25     Определение количества разрядов у числа #30
Schizorb, согласен, спасибо
Yandex
Объявления
29.07.2013, 13:25     Определение количества разрядов у числа
Ответ Создать тему
Опции темы

Текущее время: 05:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru