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

нужно посчитать количество цифр 4 и 9 в данном числе - C++

Восстановить пароль Регистрация
 
edj
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 5
05.10.2011, 21:21     нужно посчитать количество цифр 4 и 9 в данном числе #1
например, чтобы при вводе числа 14599 программа выдавала 3
помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 21:30     нужно посчитать количество цифр 4 и 9 в данном числе #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int Count(long a)
{
   int n = 0, d;
   while (a)
   {
      d = a%10;
      if (d == 4 || d == 9)
         n++;
      a /= 10;
   }
   return n;
}
edj
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 5
05.10.2011, 21:32  [ТС]     нужно посчитать количество цифр 4 и 9 в данном числе #3
буду так же очень благодарен за пояснение
разжуйте, прошу
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 21:34     нужно посчитать количество цифр 4 и 9 в данном числе #4
Цитата Сообщение от edj Посмотреть сообщение
буду так же очень благодарен за пояснение
разжуйте, прошу
C++
1
2
3
4
5
6
7
8
9
10
11
12
int Count(long a)
{
   int n = 0, d;
   while (a)
   {
      d = a%10; // выделяем последнюю цифру
      if (d == 4 || d == 9)  // проверяем, равна ли она 4 или 9
         n++;
      a /= 10;    // отбрасываем последнюю цифру
   }
   return n;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
05.10.2011, 21:34     нужно посчитать количество цифр 4 и 9 в данном числе #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string number;
 
    std::cout << "Enter number: ";
    std::cin >> number;
 
    std::cout << "Count of 4 and 9 in number: "
              << std::count_if(number.begin(),
                               number.end(),
                               [](const std::string::value_type &digit) -> bool
                               {
                                   return digit == '4' || digit == '9';
                               })
              << std::endl;
}
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
05.10.2011, 21:35     нужно посчитать количество цифр 4 и 9 в данном числе #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main(int argc, char **argv)
{
    setlocale(LC_ALL, "");
    int number;
    cout << "Введите число: ";
    cin >> number;
    int count = 0;
    while (number > 1)
    {
        int v = number % 10;
        if (v == 4 || v == 9)
            count++;
        number /= 10;
    }
    cout << "Количество цифр 4 и 9: "<< count << endl;
    system("pause");
    return 0;
}
Добавлено через 24 секунды

Не по теме:

Долго я однако думаю

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 21:36     нужно посчитать количество цифр 4 и 9 в данном числе #7
Петррр, а как же быть с отрицательными числами? они у вас не пройдут
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
05.10.2011, 21:37     нужно посчитать количество цифр 4 и 9 в данном числе #8
Вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main(int argc, char **argv)
{
    setlocale(LC_ALL, "");
    int number;
    cout << "Введите число: ";
    cin >> number;
    int count = 0;
    number = abs(number);
    while (number > 1)
    {
        int v = number % 10;
        if (v == 4 || v == 9)
            count++;
        number /= 10;
    }
    cout << "Количество цифр 4 и 9: "<< count << endl;
    system("pause");
    return 0;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
05.10.2011, 21:37     нужно посчитать количество цифр 4 и 9 в данном числе #9
Более универсальный вариант. В digits находятся цифры, которые мы хотим считать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    const char *digits = "49";
 
    std::string number;
 
    std::cout << "Enter number: ";
    std::cin >> number;
 
    std::cout << "Count of 4 and 9 in number: "
              << std::count_if(number.begin(),
                               number.end(),
                               [=](const std::string::value_type &digit) -> bool
                               {
                                   return std::string(digits).find_first_of(digit) != std::string::npos;
                               })
              << std::endl;
}
Кстати, если digits равен "0123456789", то таким вот извращённым способом можно посчитать количество цифр в числе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 21:37     нужно посчитать количество цифр 4 и 9 в данном числе
Еще ссылки по теме:

Количество цифр в числе C++
Рекурсия: количество цифр в числе, сумма цифр и реверс числа C++
Количество различных цифр в числе C++

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

Или воспользуйтесь поиском по форуму:
edj
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 5
05.10.2011, 21:37  [ТС]     нужно посчитать количество цифр 4 и 9 в данном числе #10
спасибо вам всем большое
буду вникать)
Yandex
Объявления
05.10.2011, 21:37     нужно посчитать количество цифр 4 и 9 в данном числе
Ответ Создать тему
Опции темы

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