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

C++ сосчитать сколько и каких цифр встретилось в заданном диапазоне

11.12.2012, 19:55. Показов 1356. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста с кодом

C++ сосчитать сколько и каких цифр встретилось в заданном диапазоне от a до b(которые заданы)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2012, 19:55
Ответы с готовыми решениями:

Сколько красивых чисел находится в заданном диапазоне?
Назовем натуральное число красивым, если в его десятичной записи все пары подряд идущих цифр имеют...

Определить сколько цифр в заданном числе, найти сумму цифр, и последнюю цифру
дано натуральное число n (n<10000). определить сколько цифр, найти сумму цифр, и последнюю цифру....

Определить сколько цифр в заданном натуральном числе, и чему равна сумма его цифр
Дано натуральное число n (n<=100). Определить сколько цифр в числе n, чему равна сумма его цифр.

В заданном диапазоне чисел найти все сочетания цифр без повторений
Доброго времени суток! Помогите исправить код программы.Вот задание: Для заданных m и n найти все...

17
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
11.12.2012, 20:02 2
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 a, b;
 
    cout << "Введите диапазон a, b (a<b): ";
    cin >> a >> b;
 
    cout << "Количество цифр в этом диапазоне " << b-a+1 << endl;
    for (int i=a; i<=b; i++)
        cout << i << " ";
 
    cout << endl;               
    system("pause");            
    return 0;                   
}
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 20:04  [ТС] 3
спасибо!) а как фото загрузить сюда?
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
11.12.2012, 20:16 4
Чтобы фото загрузить, нужно нажать на кнопку "Расширенный режим" а потом на скрепку
Миниатюры
C++ сосчитать сколько и каких цифр встретилось в заданном диапазоне  
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 20:17  [ТС] 5
программа выводит числа, а нужно цифры. Пример: диапозон от 4 до 15
вот он: 4 5 6 7 8 9 10 11 12 13 14 15 здесь кол1=6, кол2=1,кол3=1,кол4=2,кол5=2...
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.12.2012, 20:20 6
ss-20,
C++
1
2
3
4
5
6
7
8
9
10
int foo(int x)
{
    int counter = 0;
    while(x)
    {
        x /= 10;
        counter++;
    }
    return counter;
}
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 20:25  [ТС] 7
как написать через счетчик? "Если встретилось 1 kol1++ и т.д."
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.12.2012, 20:28 8
ss-20,
int counter = 0;
for ( проходимся от а до b)
counter += foo(число из цикла);
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 20:29  [ТС] 9
а с этой задачей как быть?
в матрице найти кусок с самой большой суммой.матрица заполнена случайным образом(в том числе и отриц.числами). с заполнеением проблем нет и с ее выводом..а с суммой беда.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.12.2012, 20:31 10
ss-20, что есть сумма куска матрицы?
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 20:58  [ТС] 11
только хорошо бы более тривиальным способом. с традиционным описанием,вводом-выводом

Добавлено через 2 минуты
по-другому звучит так: найти прямоугольник в матрице с наибольшей суммой ,учитывая,что она заполнена и отрицательными числами. (если все положительные были бы,то вывели бы всю матрицу,т.к. считаем сумму всех положительных элементов)

Добавлено через 24 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>     
using namespace std;
 
 
int kol=0;
int main()
{
    int a, b;
 
    cout << "vvesti diapozon a, b (a<b): ";
    cin >> a >> b;
 
    cout << "kolichestvo chisel v diapozone " << b-a+1 << endl;
    for (int i=a; i<=b; i++)
        cout << i << " ";
 
 for (int i=a; i<=b  ; i++)
     kol++;
 
    cout << kol << endl;
    cout << endl;               
    
    system("pause");            
    return 0;                   
}

в чем ошибка подсчета цифр?
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
11.12.2012, 21:11 12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>         
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int arr[10] = {0};
    int a, b;
    int n;
 
    cout << "Введите диапазон a, b: ";
    cin >> a >> b;
 
    for (int i=a; i<=b; i++)
    {
        n = i;
 
        while (n != 0)
        {
            arr[n%10]++;
            n/=10;
        }
    }
 
    for (int i=a; i<=b; i++)
        cout << i << " ";
    cout << endl;
 
    for (int i=0; i<10; i++)
        cout << "Количество " << i << " " << arr[i] << endl;
 
 
    cout << endl;               
    system("pause");            
    return 0;                   
}
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 21:14  [ТС] 13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>     
using namespace std;
 
 
 
int main()
{
    int a, b;
    int kol0=0,kol1=0,kol2=0,kol3=0,kol4=0,kol5=0,kol6=0,kol7=0,kol8=0,kol9=0;
 
    cout << "vvesti diapozon a, b (a<b): ";
    cin >> a >> b;
 
    cout << "kolichestvo chisel v diapozone " << b-a+1 << endl;
    for (int i=a; i<=b; i++)
        cout << i << " ";
 
 for (int i=a; i<=b ; i++)
     kol++;
 
    cout << kol << endl;
    cout << endl;               
    
    system("pause");            
    return 0;                   
}
а что здесь не так? очень хочу разобраться. за предыдущий вариант большое спасибо!
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
11.12.2012, 21:22 14
вместо 19 и 20 строчки можно таким способом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for (int i=a; i<=b ; i++)
{
    int n = i;
    
    while (n != 0)
    {
        switch(n % 10)
        {
            0:  kol0++; break;
            1:  kol1++; break;
            2:  kol2++; break;
            3:  kol3++; break;
            4:  kol4++; break;
            5:  kol5++; break;
            6:  kol6++; break;
            7:  kol7++; break;
            8:  kol8++; break;
            9:  kol9++; break;
        }
        
        n = n / 10;
    }
}
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 21:29  [ТС] 15
а вывести так?
C++
1
2
3
4
5
   cout << kol0 << kol1;
   cout << kol2 << kol3;
   cout << kol4 << kol5;
   cout << kol6 << kol7;;
   cout << kol8 << kol9;
если да,то не работает
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
11.12.2012, 21:33 16
Цитата Сообщение от ss-20 Посмотреть сообщение
если да,то не работает
все работает. тут еще пробелов не хватает между соседними цифрами
C++
1
2
3
4
5
cout << kol0 << " " << kol1 << " ";
cout << kol2 << " " << kol3 << " ";
cout << kol4 << " " << kol5 << " ";
cout << kol6 << " " << kol7 << " ";
cout << kol8 << " " << kol9;
или в одну строчку:
C++
1
cout << kol0 << " " << kol1 << " " << kol2 << " " << kol3 << " " << kol4 << " " << kol5 << " " << kol6 << " " << kol7 << " " << kol8 << " " << kol9;
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
11.12.2012, 21:47  [ТС] 17
вот итоговая программа. она выводит все нули при подсчете цифр.что делать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>     
using namespace std;
 
 
int main()
{
    int a, b;
    int kol0=0,kol1=0,kol2=0,kol3=0,kol4=0,kol5=0,kol6=0,kol7=0,kol8=0,kol9=0;
 
    cout << "vvesti diapozon a, b (a<b): ";
    cin >> a >> b;
 
    cout << "kolichestvo chisel v diapozone " << b-a+1 << endl;
    for (int i=a; i<=b; i++)
        cout << i << " ";
 
  for (int i=a; i<=b ; i++)
{
    int n = i;
    
    while (n != 0)
    {
        switch(n % 10)
        {
              kol0++; break;
              kol1++; break;
              kol2++; break;
              kol3++; break;
              kol4++; break;
              kol5++; break;
              kol6++; break;
              kol7++; break;
              kol8++; break;
              kol9++; break;
        }
        
        n = n / 10;
    }
}  cout <<endl; 
   cout <<"kol0= " << kol0 <<endl;
   cout <<"kol1= " << kol1 <<endl;
   cout <<"kol2= " << kol2 <<endl; 
   cout <<"kol3= " << kol3 <<endl;
   cout <<"kol4= " << kol4 <<endl; 
   cout <<"kol5= " << kol5 <<endl;
   cout <<"kol6= " << kol6 <<endl; 
   cout <<"kol7= " << kol7 <<endl;
   cout <<"kol8= " << kol8 <<endl; 
   cout <<"kol9= " << kol9 <<endl; 
    system("pause");            
    return 0;                   
}
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
11.12.2012, 22:00 18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>         
using namespace std;
 
int main()
{
    int a, b;
    int kol0=0,kol1=0,kol2=0,kol3=0,kol4=0,kol5=0,kol6=0,kol7=0,kol8=0,kol9=0;
 
    cout << "vvesti diapozon a, b (a<b): ";
    cin >> a >> b;
 
    cout << "kolichestvo chisel v diapozone " << b-a+1 << endl;
    for (int i=a; i<=b; i++)
        cout << i << " ";
 
  for (int i=a; i<=b ; i++)
    {
        int n = i;
    
        while (n != 0)
        {
            switch(n % 10)
            {
                case 0:  kol0++; break;
                case 1:  kol1++; break;
                case 2:  kol2++; break;
                case 3:  kol3++; break;
                case 4:  kol4++; break;
                case 5:  kol5++; break;
                case 6:  kol6++; break;
                case 7:  kol7++; break;
                case 8:  kol8++; break;
                case 9:  kol9++; break;
            }
        
            n = n / 10;
        }
        
        }  
 
    cout << endl;
    cout <<"kol0= " << kol0 << endl;
    cout <<"kol1= " << kol1 <<endl;
    cout <<"kol2= " << kol2 <<endl; 
    cout <<"kol3= " << kol3 <<endl;
    cout <<"kol4= " << kol4 <<endl; 
    cout <<"kol5= " << kol5 <<endl;
    cout <<"kol6= " << kol6 <<endl; 
    cout <<"kol7= " << kol7 <<endl;
    cout <<"kol8= " << kol8 <<endl; 
    cout <<"kol9= " << kol9 <<endl;
 
 
    cout << endl;               
    cin.get();
    cin.get();          
    return 0;                   
}
1
11.12.2012, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2012, 22:00
Помогаю со студенческими работами здесь

Определить, сколько продавцов получили заработную плату в каждом заданном диапазоне
Как исправить код, чтобы он решал поставленную задачу? В книжке попалась вот такая задача: ...

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

Найти все числа в заданном диапазоне, которые делятся на любую из своих цифр
Без понятий как сделать обясните плиз

Найти сумму чётных чисел в заданном диапазоне, у которых сумма цифр меньше 12
Напишите программу, которая запрашивает числа A и B (A&lt;B), и находит сумму только чётных двузначных...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru