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

Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) - C++

Войти
Регистрация
Восстановить пароль
 
zekru1
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 5
28.02.2013, 09:56     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) #1
Из заданной строки удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2013, 09:56     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные)
Посмотрите здесь:

C++ Заменить все прописные буквы на строчные
В алфавитной строке перевести строчные буквы в заглавные и заглавные в строчные C++
Ввести символьную строку и заменить все буквы "а" на буквы "б" и наоборот, как заглавные, так и строчные. C++
Преобразовать в строке все прописные латинские буквы в строчные. C++
Составить рекурсивную функцию, которая определяет наибольшую цифру, и заменяет все строчные латинские буквы C++
Выведите все строчные гласные латинские буквы, встречающиеся в данной строке ровно один раз C++
C++ Выведите все строчные гласные латинские буквы, встречающиеся в данной строке ровно один раз.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
28.02.2013, 11:01     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) #2
Наработки есть?
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
28.02.2013, 11:28     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) #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
25
26
27
28
#include <algorithm>
#include <cctype>
#include <functional>
#include <numeric>
#include <iostream>
#include <string>
 
 
class sum_char_int : public std::binary_function<int, char, int>
{
public:
    int operator () (int init, char iter)
    {
        if (isdigit(iter))
            return init + iter - '0';
        return init;
    }
};
 
int main()
{
    std::string s("123sDf123");
    std::cout << "Count of digits: " << std::count_if(s.begin(), s.end(), isdigit) << std::endl;
    std::cout << "Sum of digits: " << std::accumulate(s.begin(), s.end(), 0, sum_char_int()) << std::endl;
    s.erase(std::remove_if(s.begin(), s.end(), isdigit), s.end());
    std::transform(s.begin(), s.end(), s.begin(), tolower);
    std::cout << s << std::endl;
}
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
28.02.2013, 12:58     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) #4
Пaтрик, ещё не помешает добавить
C++
1
setlocale( LC_ALL, "Russian" );
и заменить isdigit() на iswdigit().
zekru1
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 5
04.03.2013, 18:24  [ТС]     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) #5
Все работает спасибо!
Croessmah
04.03.2013, 18:37
  #6

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Пaтрик, ещё не помешает добавить
setlocale в код с STL? ИМХО, ужОс.
Да и зачем, если всё на английском?
Цитата Сообщение от Tulosba Посмотреть сообщение
и заменить isdigit() на iswdigit()
сомнительно.

Tulosba
04.03.2013, 18:45     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные)
  #7

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
setlocale в код с STL? ИМХО, ужОс.
Не могли бы пояснить?
Цитата Сообщение от Croessmah Посмотреть сообщение
Да и зачем, если всё на английском?
mea culpa, не заметил описание задачи, а сам проверял на русских строках.
Цитата Сообщение от Croessmah Посмотреть сообщение
и заменить isdigit() на iswdigit()
Актуально если не только латинский.

Yandex
Объявления
04.03.2013, 18:45     Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные)
Ответ Создать тему
Опции темы

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