Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/55: Рейтинг темы: голосов - 55, средняя оценка - 4.76
0 / 0 / 1
Регистрация: 01.09.2012
Сообщений: 97

Сколько раз повторяется цифра в числе, введенном пользователем

16.08.2017, 13:39. Показов 10744. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пользователь вводит число. Потом вводит цифру этого числа и должно вывести сколько раз эта цифра повторяется.

Код такой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
    int num, n, co;
    cout<<"Number?"<<endl;
    cin>>num;
    cout<<"Cifra?"<<endl;
    cin>>n;
    int count = 0;
    for (; num>0; count++) {
        num /= 10;
    }
    for (int i = 0; i < count; i++) {
        if (num[i] == n) {
            co++;
        }
    }
    cout<<"Number of "<<n<<" is: "<<co;
    return 0;
}
и на этой строке
C++
1
if (num[i] == n)
выдает: "invalid types int[int] for array subscript c++"
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2017, 13:39
Ответы с готовыми решениями:

Определить, сколько раз во введенном числе встречается цифра 5
. Ввести число. Определить, сколько раз в нем встречается цифра 5. Правильно ли решил? include &lt;iostream&gt; using...

Посчитать, сколько раз встречается каждая цифра в введенном с клавиатуры числе
Посчитать, сколько раз встречается каждая цифра в введенном с клавиатуры числе.

Определить, сколько раз число, введенное пользователем, повторяется в массиве
Как используя массивы создать программу, которая покажет сколько раз число, введенное пользователем повторяется в массиве? Например, есть...

8
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
16.08.2017, 13:57
num не массив, чтобы к нему по индексу обращаться.
0
Рэмбо комнатный
 Аватар для GeFacle
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
16.08.2017, 18:09
если число от 0 до 10, то вот код
C++
1
2
3
4
5
6
7
string chislo; cin >> chislo;
string find; cin >> find;
int count = 0;
for ( int i = 0; i < chislo.length(); i++)
     if ( chislo[i] == find[0] ) count++;
 
cout << count << " times" << endl;
Добавлено через 2 минуты
если через числа, то
C++
1
2
3
4
5
6
7
8
int ch, find, count = 0;
cin >> ch >> find;
while(ch!=0)
{
    if ( ch % 10 == find )  { count++; }
    ch/=10;
}
cout << count << " times";
0
0 / 0 / 1
Регистрация: 01.09.2012
Сообщений: 97
16.08.2017, 18:53  [ТС]
Спасибо!!! Сначала тоже делал как наверху (где от 0 до 10), но я это обобщал на случай любого числа и ошибку выдавало. Теперь все работает
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
16.08.2017, 21:59
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main(){
 int num[10]={0},n;
 char b;
 while(1)
  {
    cin.get(b);
    if(b=='\n')break;
    num[b-'0']++;
   }
   cin>>n;
   cout<<num[n];
    system("pause>NULL");
    return 0;
}
0
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
16.08.2017, 22:25
arman22,
Зачем что-то делить, чтобы вытащить цифру, если можно считать строку.
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>
 
int main()
{
    std :: string number;
    std :: cin >> number;
    
    char digit;
    std :: cin >> digit;
    int result{0};
    for (auto &symbol : number)
        {
            if (symbol == digit)
                {
                    result++;
                }
        }
    std :: cout << result;
}
0
 Аватар для Profi_GMan
4 / 4 / 4
Регистрация: 11.09.2016
Сообщений: 136
Записей в блоге: 5
17.08.2017, 09:44
вот решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string str;
    cin >> str;
    int num;
    cin >> num;
    num += 48; //код символов цифр, это цифра + 48
    int len = str.length();
    int cnt = 0;
    for(int i = 0; i < len; i++) {
        if(str[i] == num) cnt++; //здесь от string мы получаем символ, поэтому выше прибавляли 48
    }
    cout << cnt;
}
Добавлено через 16 секунд
вот решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string str;
    cin >> str;
    int num;
    cin >> num;
    num += 48; //код символов цифр, это цифра + 48
    int len = str.length();
    int cnt = 0;
    for(int i = 0; i < len; i++) {
        if(str[i] == num) cnt++; //здесь от string мы получаем символ, поэтому выше прибавляли 48
    }
    cout << cnt;
}
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,711
Записей в блоге: 14
17.08.2017, 12:01
Не нужно ни строк, ни массивов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    int n,d,k=0;
    cout << "Enter number: ";
    cin >> n;
    cout << "Enter digit: ";
    cin >> d;
    while (1)
    {
      if ((n % 10)== d) k++;
      if (n==0) break;
      n/=10;
    }  
    cout << k << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
0 / 0 / 10
Регистрация: 15.04.2016
Сообщений: 17
24.08.2017, 12:46
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main()
{
    int a, c, k = 0;
    cin >> a >> c;
    while (a > 0){
        if (a % 10 == c)
            k++;
        a /= 10;
    }
    cout << k;
}
Добавлено через 15 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main()
{
    int a, c, k = 0;
    cin >> a >> c;
    while (a > 0){
        if (a % 10 == c)
            k++;
        a /= 10;
    }
    cout << k;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.08.2017, 12:46
Помогаю со студенческими работами здесь

Сколько раз встречается наименьшая цифра в числе
Здравствуйте! У меня есть какое-то число. Я нахожу наименьшую цифру в нем: int x; cin &gt;&gt; x; int max = x % 10; while (x...

Сколько раз в данном числе встречается цифра 5 ?
т.е допустим дано 3х значное число 546. Значит там цифра &quot;5&quot; будет встречаться один раз. не знаю как написать это. если можно то...

Сколько раз повторяется максимальная цифра в числе?
Можете помочь с решением этой задачи? Я пытался сделать, но что-то не получилось(Объясните, пожалуйста, в чем ошибка) { int...

Определить сколько раз в числе повторяется последняя цифра
С клавиатуры водится число! Определить сколько раз в нем повторяется последнее число! Помогите мне пожалуйста хоть кто-нибудь! Решать...

Сколько раз во введенном с клавиатуры числе встречается цифра 5
Здравствуйте, я в программировании новичок. И мне необходима ваша помощь в составлении кода программы на языке С# 1.Определите, сколько...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru