Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.67
ASTREL
9 / 9 / 4
Регистрация: 07.12.2010
Сообщений: 53
#1

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

07.12.2010, 23:47. Просмотров 7442. Ответов 26
Метки нет (Все метки)

Задание: Напишите программу, которая удалит из введенного числа все цифры равные N (N вводится из клавиатуры), и выведет результат на экран.

Я для примера взял программу которая говорит палиндром ли это число, или нет. Тут я увидел как доставлять цифры в конец числа. Я уже придумал алгоритм решения этой задачи, но если бы знать как доставить цифру наперед числа. Кто знает подскажите как переставлять цифры на перед заданного числа или помогите решить задачу. Спасибо.

Вот программа которую брал за пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>
main()
{
      int a,b,copy_a,start;
      start:
      cout<<"Number: ";
      cin>>a;
      copy_a=a;
      b=0;
      while (copy_a!=0)
      {
            b=b*10+copy_a%10;
      copy_a/=10;
      }
      if (a==b) cout<<"Yes"; else cout<<"No";
      getch();
      goto start;
      return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 23:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить заданную цифру из числа (C++):

Удалить заданную цифру из числа
Здравствуйте! В общем есть работающий код для этой программы: #include...

Найти все двузначные числа, имеющие в записи заданную цифру
Найти все двузначные числа, имеющие в записи цифру 3.Заранее спасибо

Напечатать заданную цифру последовательности, в которой выписаны подряд все числа Фибоначчи
Дано натуральное k. Напечатать k-ую ЦИФРУ последовательности 11235813..., в...

Удалить в записи числа цифру, повторяющуюся максимальное число раз
Удаляет в записи числа цифру, повторяющуюся максимальное число раз, получая...

Первую цифру числа удалить прибавить к тому что осталось
Для любого натурального числа алгоритм делает операции: отделяет от числа...

Удалить все числа, которые начинаются и заканчиваются на одну и ту же цифру
в одномерном массиве заменить все числа начинаются и заканчиваются на одну и ту...

26
Vicky
0 / 0 / 3
Регистрация: 09.11.2011
Сообщений: 56
09.02.2012, 20:34 #21
это все замечательно, господа. Но все хотелось бы увидеть код. Как я понимаю, та версия на плюсах?)

Добавлено через 2 минуты
или хотя бы принцип...
0
HomeR_J_SimpsoN
59 / 59 / 8
Регистрация: 15.10.2010
Сообщений: 356
09.02.2012, 21:04 #22
Я так понимаю, что объявление локальных переменных в голове цикла - ужасный проступок для стандарта С99 =)
Больше нареканий, со стороны С-товарищей, код не вызвал.
Посему исправьте следующее и смело копипасьте)

C
1
2
3
int i = 0;
for( i; input[i]; i++ )
...
С-товарищам:
Если я не прав, поправьте
0
Toshkarik
1149 / 866 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
09.02.2012, 22:28 #23
Цитата Сообщение от remarkes Посмотреть сообщение
а что "Оо"? да - где попало.
Ну так это только для С, у ТС в первом посте пример на С++.

Цитата Сообщение от silent_1991 Посмотреть сообщение
ТС просил код на С
Ну это был не совсем ТС
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.02.2012, 11:20 #24
Цитата Сообщение от Toshkarik Посмотреть сообщение
Ну это был не совсем ТС
И то верно
Но это был товарищ, который поднял тему, поэтому на него и стрелки
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
10.02.2012, 11:30 #25
Так как-то
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main(void)
{
    unsigned n, i, x, res = 0;
    scanf("%d%d", &x, &n);
    
    for (i = 1; x != 0 ; x /= 10)
        if ( x % 10 != n )
            res += i * (x % 10),
            i *= 10;
    
    printf("%d\n", res);
        
    return 0;
}
Если число сотрется полностью, то выведет 0.
0
Gravdal
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 6
05.11.2013, 18:06 #26
Извините, а как можно удалить заданную цифру из числа без использования массива?

Добавлено через 19 часов 28 минут
Как можно удалить заданную цифру из числа без использования массива?
0
Toshkarik
1149 / 866 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
05.11.2013, 20:25 #27
Решение находится прям над Вашим сообщением...
0
05.11.2013, 20:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 20:25
Привет! Вот еще темы с решениями:

Масивы: удалить все числа которые начинаются и заканчиваются на одну и ту же цифру
В одномерном массиве удалить все числа начинаются и заканчиваются на одну и ту...

Как сделать через класс? Дано число. Удалить из числа первую и последнюю цифру
...

Программа, которая определяет, какую следует удалить цифру из числа, чтобы получить максимальное значение
Программа, которая определяет номер цифры, какую следует выкреслить, что бы...

Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0
Дано четырехзначное натуральное число. Удалить из записи этого числа все...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru