В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
vipsab333
vipsab333
28.10.2021 07:24 •  Информатика

Написать на языке С программу, содержащую следующую функцию: Функция должна принимать на вход строку (в виде указателя на char, строка заведомо сформирована корректно, ненулевой длины и заканчивается символом конца строки) и целое неотрицательное число. Функция должна возвращать сумму (неотрицательное целое число) символов-цифр строки, которые встречаются в символьном десятичном представлении числа. Следует рассматривать строку как последовательность символов, не допускается использовать библиотечные функции для обработки строк и для преобразования числа в строку. Например, для исходных данных "baumanka 1830-2015" и 185 должно быть возвращено 15.

Показать ответ
Ответ:
oliaborisova123
oliaborisova123
02.01.2021 21:47

#include <iostream>

#include <string>

#include <algorithm>

#include <Windows.h>

using namespace std;

bool check_alphabet(char symbol) {

string alphabet = "";

for (size_t j = 0; j < alphabet.size(); j++)

{

if (alphabet[j] == symbol) {

 return true;

}

}

return false;

}

pair<int,string> erase_counter_char_in_str_not_latin(string str) {

int i = 0;

int count = 0;

while (i <= str.size() - 1) {

if (not (check_alphabet(toupper(str[i] {

 str.erase(str.begin() + i);

 count++;

 i--; // раз удалили, то нужно вернуться назад на один: i~45m -> i5~m (i уже идёт на следующий)

}

i++;

}

return make_pair(count, str);

}

int main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

setlocale(LC_ALL, "Russian");

string str;

cout << "Введите строку: " << endl;

cin >> str;

pair<int,string> pair_count_str = erase_counter_char_in_str_not_latin(str);

cout << endl << "Удалено: " << pair_count_str.first << endl;

cout << "Конечная строка: " << pair_count_str.second;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота