Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
yura332
0 / 0 / 0
Регистрация: 21.09.2009
Сообщений: 25
1

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

06.07.2010, 09:10. Просмотров 1071. Ответов 3
Метки нет (Все метки)

Создать функцию, которая на вход получает строку символов, сообщает количество вхождений каждой цифры в строку и в случае, если цифр 5, 6, 7, 8, 9 больше за 0, 1, 2, 3, 4 – замещает каждую из цифр 0, 1, 2, 3, 4 на последовательность символов “”,“*”,“**”,“***”,“****”.

Очень нужна на завтра
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2010, 09:10
Ответы с готовыми решениями:

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

Напишите функцию, которая получает на вход строку цифр, и возвращает соответствующее целочисленное значение
Напишите функцию atoi (), которая получает строку цифр, и возвращает...

Напишите функцию, которая определяет, можно ли из символов, входящих в строку А, составить строку В
Помогите с задачей, пожалуйста. Даны строки А и В. Напишите функцию, которая...

Как сделать функцию которая получает цифру и возвращает строку?
Лучше всего наглядный пример, пожалуйста. :) Благодарю всех заранее.

Количество вхождений всех символов в строку
Видел похожую тему, но там задача была проще, так как надо было найти...

3
Nameless One
Эксперт С++
5787 / 3436 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
06.07.2010, 11:29 2
Забирай:
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
#include <iostream>
#include <string>
 
void n_occur(std::string& str)
{
    size_t n_table[10]={};
    std::string::iterator it=str.begin();
    while(it!=str.end())
    {
        if(((*it)<='9')&&((*it)>='0'))
            ++n_table[(*it)-'0'];
        ++it;
    }
    for(size_t i=0; i<10; ++i)
        std::cout << '\'' << i << "\' - " << n_table[i] << std::endl;
    size_t a=0, b=0;
    size_t* sz_ptr=n_table;
    for(size_t i=0; i<5; ++i, ++sz_ptr)
        a+=*sz_ptr;
    for(size_t i=0; i<5; ++i, ++sz_ptr)
        b+=*sz_ptr;
    std::cout << "Number of \'0\'-\'4\': " << a << std::endl;
    std::cout << "Number of \'5\'-\'9\': " << b << std::endl;
    if(b>a)
    {
        size_t offset=0;
        std::string m("01234");
        while((offset=str.find_first_of(m, offset))!=std::string::npos)
            str.replace(offset, 1, (str[offset]-'0'), '*');
    }
}
 
int main()
{
    std::string string;
    std::getline(std::cin, string);
    n_occur(string);
    std::cout << string << std::endl;
    system("pause");
    return EXIT_SUCCESS;
}
1
Vladimir616
112 / 112 / 28
Регистрация: 05.07.2009
Сообщений: 224
06.07.2010, 12:05 3
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
#include <iostream> 
using namespace std;
int main()
{
    bool condition = false;
    char buffer[1024];
    int numbers[10] = {0};
    cin.getline(buffer, 1024);
    for(int i = 0; buffer[i] != '\0'; i++)
        if(buffer[i] <= '9')
            numbers[buffer[i] - 48]++;
    for(int i = 0; i < 10; i++)
        cout << i << " - " << numbers[i] << endl;
    if((numbers[5] + numbers[6] + numbers[7] + numbers[8] + numbers[9]) > (numbers[0] + numbers[1] + numbers[2] + numbers[3] + numbers[4]))
        condition = true;
    for(int i = 0; buffer[i] != '\0'; i++)
        if(buffer[i] < '5' && condition)
            for(; (buffer[i] - 48) > 0; buffer[i]--)
                cout << "*";
        else
            cout << buffer[i];
    cout << endl;
    return 0;
}
Вот мой вариант.
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
06.07.2010, 12:21 4
выводит количество вхождений в строку каждой цифры, и не более того...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <algorithm>
 
int main(){
    std::string buf;
    
    std::cout << "Enter some digits: ";
    std::cin >> buf;
    for ( int i = 0; i < 10; ++i )
        std::cout << i << " : " << std::count(buf.begin(), buf.end(), i + '0') << std::endl;
    
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2010, 12:21

Найти количество вхождений каждой буквы в заданную строку
спросить у человека строку, надо посчитать количество вхождений каждой буквы и...

Подсчитать количество вхождений в строку определенных символов
Помогите написать программу... Данная строка символов S. Подсчитать : а )...

Подсчитать количество вхождений в строку заданной последовательности символов
Дана строка символов. Подсчитать количество вхождений в строку заданной...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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