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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AZIZBEK
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 37
#1

Удалить цифру из записи - C++

18.07.2012, 09:08. Просмотров 611. Ответов 3
Метки нет (Все метки)

дано натуральное число n, Удалить из записи число цифру 0 и 5. оставив преждный порядок остальных цифр
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2012, 09:08     Удалить цифру из записи
Посмотрите здесь:

C++ В списке удалить цифру стоящую перед заданной
Удалить заданную цифру из числа C++
Найти цифру, соответствующую разряду сотен в записи числа C++
C++ Найти наибольшую цифру в записи данного натурального числа
Присвоить целой переменной h n -ую от конца цифру в записи натурального числа k C++
Удалить из списка все элементы, заканчивающиеся на цифру 2 C++
C++ Удалить из списка все элементы, заканчивающиеся на цифру 2
C++ Удалить заданную цифру из числа
C++ Найти максимальную цифру в записи числа на С++ (исправить условие цикла)
C++ Как удалить в массиве цифру
C++ Найти наибольшую цифру в записи заданного натурального числа
C++ Удалить в записи числа цифру, повторяющуюся максимальное число раз

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Дмитрий1988
3 / 3 / 1
Регистрация: 12.07.2012
Сообщений: 8
18.07.2012, 09:43     Удалить цифру из записи #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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");    //Для вывода кирилицы в консоли
 
    long Chislo;
    char buf[80];
    
    cout << "Введите число: ";
    cin >> Chislo;
    
 
    itoa(Chislo, buf, 10); //Преобразование числа в строку
 
    for (int i=0;buf[i];i++)
        if ( (buf[i]=='0') || (buf[i]=='5') )
            {
                for (int j=i;buf[j];j++)
                    buf[j]=buf[j+1];
                i--;
            }
    Chislo = atoi(buf); //Преобразование строки в число
    cout << endl << "Полученное число " << Chislo << endl;
    
    system("pause");
    return 0;
}//дано натуральное число n, Удалить из записи число цифру 0 и 5. оставив преждный порядок остальных цифр
canopen
411 / 410 / 12
Регистрация: 16.07.2012
Сообщений: 886
18.07.2012, 09:44     Удалить цифру из записи #3
Я думаю, преобразование в строку здесь ни к чему
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int result = 0;
int resultPos = 1;
 
while (n > 0)
{
    int digit = n % 10;
 
    if ((digit != 0) && (digit != 5))
    {
        result = result + digit * resultPos;
        resultPos = resultPos * 10;
    }
 
    n = n / 10;
}
Дмитрий1988
3 / 3 / 1
Регистрация: 12.07.2012
Сообщений: 8
18.07.2012, 09:48     Удалить цифру из записи #4
Да, твой вариант мне тоже больше нравится, надо учесть на будущее
Yandex
Объявления
18.07.2012, 09:48     Удалить цифру из записи
Ответ Создать тему
Опции темы

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