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

Рекурсивно определить количество арабских цифр в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить схему алгоритма и программу решения задачи http://www.cyberforum.ru/cpp-beginners/thread1495192.html
Ввести массив, состоящий из 8 элементов (восемь двузначных чисел) целого типа. Получить новый массив, состоящий из цифр, находящихся в младших разрядах элементов исходного массива.
C++ Вычисление суммы n членов ряда cos(nx)/n Составить блок-схему алгоритма и программу вычисления суммы n членов ряда согласно условию задачи. cos⁡(x)+cos⁡(2x)/2+cos⁡(3x)/3+⋯. http://www.cyberforum.ru/cpp-beginners/thread1495191.html
Вычисление суммы (произведения) конечного ряда + блок-схема C++
Составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда. При разработке программы предусмот- реть пропуск слагаемых (множителей), равных нулю или...
Написать блок-схему и программу согласно заданию C++
Написать блок-схему и программу согласно заданию. Необходимо заполнить двухмерный массив из 0 и 1. А после его вывода - массив должен иметь следующий вид: 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0
C++ Криптографический алгоритм "Квадрата Полибия" http://www.cyberforum.ru/cpp-beginners/thread1495174.html
Вот смысл по простому написал, а записать на C++ Вообще не могу. Нет идей даже. Помогите пожалуйста. Как это записать в С++?
C++ Дана строка. Вычеркнуть из нее все русские заглавные буквы Помогите составить код задачи: дана строка. Вычеркнуть из нее все русские заглавные буквы. подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
08.07.2015, 12:11
Цитата Сообщение от Derrt Посмотреть сообщение
компилятор не может по-разному понимать программный код
или может
Разные компиляторы по разному реализуют разные функции. Стандартизируется только результат работы функции, а как она там внутри устроена это на совести разработчиков конкретного компилятора.

Стандартом оговорено, что isdigit возвращает ненулевое значение, если ее аргумент является числом и ноль в противоположном случае.

Заметьте ни слова тут нет про единицу. Ненулевое.
Все это корнями глубоко проросло в то, что тип bool был сильно позже введен в C++, чем int, на котором его и забазировали.
В данном случае возвращается sizeof( int ) скорее всего. Неплохо было бы проверить на x64.

Вот такая штука починит все:
C++
1
2
3
4
5
int GetCount(std::string &str, int i)
{
    if(i < 0) return 0;
    return GetCount(str, i - 1) + (bool)isdigit(str[i]);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru