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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.67
ASTREL
9 / 9 / 2
Регистрация: 07.12.2010
Сообщений: 53
#1

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

07.12.2010, 23:47. Просмотров 5666. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 23:47     Удалить заданную цифру из числа
Посмотрите здесь:
C++ Удалить заданную цифру из числа
C++ Напечатать заданную цифру последовательности, в которой выписаны подряд все числа Фибоначчи
C++ Удалить в записи числа цифру, повторяющуюся максимальное число раз
C++ Удалить все числа, которые начинаются и заканчиваются на одну и ту же цифру
C++ Первую цифру числа удалить прибавить к тому что осталось
Масивы: удалить все числа которые начинаются и заканчиваются на одну и ту же цифру C++
Как сделать через класс? Дано число. Удалить из числа первую и последнюю цифру C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
09.02.2012, 19:47     Удалить заданную цифру из числа #16
Цитата Сообщение от remarkes Посмотреть сообщение
а что "Оо"? да - где попало.

array1.c:35: ошибка: ‘for’ loop initial declarations are only allowed in C99 mode
array1.c:35: замечание: use option -std=c99 or -std=gnu99 to compile your code

то, что 99-й стандарт позволяет так кодить, это не значит, что так надо делать.
Интересный у Вас компилятор)
Я вот переменные стараюсь объявлять максимально локально.
Я это нахожу очень удобным и правильным. И это совсем не лукавство)
К тому же я пишу исключительно на плюсах => такая возможность есть => почему бы этим не воспользоваться.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.02.2012, 20:11     Удалить заданную цифру из числа #17
Цитата Сообщение от HomeR_J_SimpsoN Посмотреть сообщение
на плюсах
Цитата Сообщение от Vicky Посмотреть сообщение
только на Си
Отсюда всё и идёт... Но плюсах - бесспорно, так и надо делать. Но 1) ТС просил код на С и 2) вы свой код оформили в тег [C][/C], и никак нельзя было идентифицировать, что код на С++.
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
09.02.2012, 20:13     Удалить заданную цифру из числа #18
Да да да) Уже понял) Мордой по столу)
Кстати я действительно не знал о таких вот интересных отличиях меж стандартами)
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.02.2012, 20:18     Удалить заданную цифру из числа #19
HomeR_J_SimpsoN, разные языки, что вы хотели))
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
09.02.2012, 20:19     Удалить заданную цифру из числа #20
Эх )
Vicky
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 56
09.02.2012, 20:34     Удалить заданную цифру из числа #21
это все замечательно, господа. Но все хотелось бы увидеть код. Как я понимаю, та версия на плюсах?)

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

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

Цитата Сообщение от silent_1991 Посмотреть сообщение
ТС просил код на С
Ну это был не совсем ТС
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.02.2012, 11:20     Удалить заданную цифру из числа #24
Цитата Сообщение от Toshkarik Посмотреть сообщение
Ну это был не совсем ТС
И то верно
Но это был товарищ, который поднял тему, поэтому на него и стрелки
diagon
Higher
1928 / 1194 / 49
Регистрация: 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.
Gravdal
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 6
05.11.2013, 18:06     Удалить заданную цифру из числа #26
Извините, а как можно удалить заданную цифру из числа без использования массива?

Добавлено через 19 часов 28 минут
Как можно удалить заданную цифру из числа без использования массива?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 20:25     Удалить заданную цифру из числа
Еще ссылки по теме:
C++ Программа, которая определяет, какую следует удалить цифру из числа, чтобы получить максимальное значение
C++ Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0
Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) C++
Выяснить содержит ли число заданную цифру C++
Найти заданную цифру последовательностей (строка) C++

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

Или воспользуйтесь поиском по форуму:
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
05.11.2013, 20:25     Удалить заданную цифру из числа #27
Решение находится прям над Вашим сообщением...
Yandex
Объявления
05.11.2013, 20:25     Удалить заданную цифру из числа
Ответ Создать тему
Опции темы

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