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

Как определить, есть ли в числе цифра? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ По введенному номеру музыкальной ноты вывести ее словесное наименование http://www.cyberforum.ru/cpp-beginners/thread1712182.html
Друзья! Помогите пожалуйста. задание следующее: По введенному номеру музыкальной ноты вывести ее словесное наименование. Например, 3 – ми. Есть небольшие наработки: //551 Князев Дмитрий...
C++ Генерация псевдослучайных чисел в заданном диапазоне Датчики случайных чисел можно привлекать при подборе проверочных исходных данных для программ. Получить с помощью датчика случайных чисел:35 неотрицательных целых чисел, не превосходящих 1000; http://www.cyberforum.ru/cpp-beginners/thread1712181.html
C++ Контейнер map
Здравствуйте, работаю с контейнером map, анализирую текст, получаю записи типа "слово: число его появлений в тексте". Хотелось бы вывести список всех слов, учитываю число их появлений. Например...
Найти минимальный член в заданной последовательности чисел C++
Даны целые числа a1, a2, … Известно, что а1 > 0 и что средиа2, a3, … есть хотя бы одно отрицательное число. Пусть а1, …, аn –члены данной последовательности, предшествующие первому отрицательному...
C++ Объясните синтаксис throw http://www.cyberforum.ru/cpp-beginners/thread1712148.html
Добрый день! Можете понятно объяснить синтаксис throw(...). Что он делает? catch(...) универсальный и зачем использовать понятно, а вот throw(...) не совсем понятно. Буду благодарен за...
C++ Найти факториал, используя пользовательский тип Найти факториал n!=1*2*3...*n решить через классы, подробнее

Показать сообщение отдельно
Surges
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 44

Как определить, есть ли в числе цифра? - C++

15.04.2016, 12:32. Просмотров 331. Ответов 3
Метки (Все метки)

Нужно, чтобы число увеличивалось, пока цифры 4 и 3 не исчезнут из такого числа.
Например
12 -> 12;
13 -> 15;
141 -> 150;
231 -> 250.
Пробовал через операцию деления:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
int main(int argc)
{
    setlocale(LC_ALL, "Russian");
    int i;
    cin >> i;
    while (true)
    {
        if (i % 10 == 3 || i % 10 == 4 || i % 100 == 3 || i % 100 == 4 || i % 1000 == 3 || i % 1000 == 4 || i == 3 || i == 4) {
            i++;
            continue;}
        else
            break;
    }
    cout << i << endl;
      system("pause");
    return 0;
}

Но результаты не всегда правильные. Например, здесь 131 как 131 ( но зато из 13 -> 15).
__
Пробовал через char[]:
Кликните здесь для просмотра всего текста
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>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
int main(int argc)
{
    setlocale(LC_ALL, "Russian");
    char input[3000];
    cin >> input;
    for (int i = 0; i != 3000; i++)
    {
        while (input[i] == '4' && i < 3000 || input[i] == '3' && i < 3000)
        {
            if (input[i] == '3')
                input[i] = '4';
            if (input[i] == '4')
                input[i] = '5';
        }
    }
    cout << input << endl;
        system("pause");
    return 0;
}

Но тут число получается не самое ближнее к исходному (из 231 должно получиться 250, но здесь получается 251).
Помогите, пожалуйста, с реализацией.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru