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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
#1

Выбросить из записи числа n цифры 0 и 5 - C++

17.11.2010, 16:05. Просмотров 1596. Ответов 11
Метки нет (Все метки)

Помогите найти ошибку.
Дано натуральное число n. Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Например из числа 59015509 должно получиться 919.

Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<math.h>
#include<stdio.h>
int main(){
    unsigned long int a,b,i,k;
    scanf("%d",&a);
    i=0;
    b=a;
    while(b>10){                        // считает кол-во символов в числе
        b = b / 10;
        i++;};
    k=pow(10,i);
 
    b=a;
    while(i>0){                         // с помощью деления
    b = a / k;                          // проверяем каждое число на 0 и 5
    a = a % k;
    i--;
    if (b!=5 & b!=0){printf("%d",b);};};
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выбросить из записи числа n цифры 0 и 5 (C++):

Выбросить из записи введенного натурального числа n цифры 0 и 5 - C++
Я не могу записать эту задачу на языке си с помощью цикла, использовать массив нельзя 10. Выбросить из записи введенного натурального...

Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр - C++
1. Дано натуральное число n. Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Например, из числа 59015509...

Проверить, есть ли в записи числа m цифры, совпадающие с цифрами в записи числа n - C++
Помогите составить программу. Условие: Даны два натуральных числа m и n{m&lt; 9999, n &lt; 9999). Проверить, есть ли в записи числа m...

Есть в записи числа m цифры, которые совпадают с цифрами в записи числа n - C++
Дано два натуральных числа n(&lt;=9999) и m (&lt;=9999). Проверить, есть в записи числа m цифры, которые совпадают с цифрами в записи числа n. ...

Замена последней цифры на значение наименьшей цифры в записи числа N - C++
Ошибка в задании Условие:Дано натуральное число N. Получить новое число М, которое образуется из числа N путем замены последней цифры на...

В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. - C++
Помогите,пожалуйста! С++

11
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:10 #2
Цитата Сообщение от r55art Посмотреть сообщение
считает кол-во символов в строке
а где строка???

Добавлено через 34 секунды
ты вводишь число в строку??!
0
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
17.11.2010, 16:11  [ТС] #3
в числе*
нужно написать без строк
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:15 #4
я бы использовал строки, а ты их не используешь!
тебе нужно исправить ошибки или составить новый код?

Добавлено через 3 минуты
Цитата Сообщение от r55art Посмотреть сообщение
if (b!=5 & b!=0)
а может в место амперсанта ||
0
cripton
3 / 2 / 1
Регистрация: 02.03.2010
Сообщений: 16
17.11.2010, 16:16 #5
if (b!=5 || b!=0){printf("%d",b);}
вот например....go (сенк)
0
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
17.11.2010, 16:16 #6
Если ты хочешь делать без строк, то тогда, наверное, лучше делать с массивом, где ты будешь хранить все свои элементы не равные 5 и 0
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:17 #7
Цитата Сообщение от r55art Посмотреть сообщение
k=pow(10,i);
i-1 (если колв-во символов i)
0
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
17.11.2010, 16:19  [ТС] #8
нужно сделать без массивов и без строк.
Я новичок и просто не могу что не правильно
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:20 #9
C
1
2
3
4
5
6
7
k=pow(10,i-1);
 
while (k) {
b=a/k;
a-=b;
if (b!=5 || b!=0) printf("%d", b);
k/=10; }
попробуй так
0
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
17.11.2010, 16:34 #10
Проверь этот вариант
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int i=0,a=0,k;
    cin>>k;
    while (k>0)
    {
        if(k%10!=0&&k%10!=5)
        {
            a*=10;
            a+=k%10;
        }
        k/=10;
    }
     while (a>0)
    {
       cout<<a%10;
        a/=10;
    }
    return 0;
}
1
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:35 #11
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
#include <stdio.h>
#include<math.h>
 
int main ()
{ int a=9059;
int b,i=0,k;
 
 
b=a;
 
while(b>1) {  // считает кол-во символов в числе
b/=10;
i++; }   i--;
k=pow(10,i);
 
while (k) {
b=a/k;
 
if (b!=5 && b!=0) printf("%d", b);
a-=b*k;
k/=10; }       
 
getch (); // Задержка экрана
 
return 0;
}
вот рабочий код
1
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
17.11.2010, 16:39  [ТС] #12
Спасибо Dimon4ik32 все работает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 16:39
Привет! Вот еще темы с ответами:

Образовать новое число, путём замены последней цифры на значение наименьшей цифры в записи исходного числа - C++
Помогите доделать задачу, минимальную цифру нашёл, последнюю цифру нашёл, только осталось присвоить значение минимальной цифры последней,...

Для натурального числа определить истинность предиката «все цифры в записи числа равны» - C++
Для натурального числа определить истинность предиката «все цифры в записи числа равны». Если предикат истинен, то вывести эту цифру.

Удалить из записи целого числа цифры 0 и 5 - C++
не получается справиться с одной задачей Дано натуральное число n (n&lt;=9999). Выбросить из записи целого числа n цифры 0 и 5, оставив...

Удалить из записи десятичного числа цифры 3 и 7 - C++
Пусть дано натуральное число N. Удалите из записи этого числа цифры 3 и 7, оставив прежним порядок остальных цифр. Например, из числа 3 171...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
17.11.2010, 16:39
Ответ Создать тему
Опции темы

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