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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
17.11.2010, 16:05     Выбросить из записи числа n цифры 0 и 5 #1
Помогите найти ошибку.
Дано натуральное число 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);};};
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 16:05     Выбросить из записи числа n цифры 0 и 5
Посмотрите здесь:

В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. C++
C++ Выбросить из записи введенного натурального числа n цифры 0 и 5
Есть в записи числа m цифры, которые совпадают с цифрами в записи числа n C++
Для натурального числа определить истинность предиката «все цифры в записи числа равны» C++
C++ Замена последней цифры на значение наименьшей цифры в записи числа N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:10     Выбросить из записи числа n цифры 0 и 5 #2
Цитата Сообщение от r55art Посмотреть сообщение
считает кол-во символов в строке
а где строка???

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

Добавлено через 3 минуты
Цитата Сообщение от r55art Посмотреть сообщение
if (b!=5 & b!=0)
а может в место амперсанта ||
cripton
 Аватар для cripton
3 / 2 / 1
Регистрация: 02.03.2010
Сообщений: 16
17.11.2010, 16:16     Выбросить из записи числа n цифры 0 и 5 #5
if (b!=5 || b!=0){printf("%d",b);}
вот например....go (сенк)
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
17.11.2010, 16:16     Выбросить из записи числа n цифры 0 и 5 #6
Если ты хочешь делать без строк, то тогда, наверное, лучше делать с массивом, где ты будешь хранить все свои элементы не равные 5 и 0
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:17     Выбросить из записи числа n цифры 0 и 5 #7
Цитата Сообщение от r55art Посмотреть сообщение
k=pow(10,i);
i-1 (если колв-во символов i)
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
17.11.2010, 16:19  [ТС]     Выбросить из записи числа n цифры 0 и 5 #8
нужно сделать без массивов и без строк.
Я новичок и просто не могу что не правильно
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:20     Выбросить из записи числа n цифры 0 и 5 #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; }
попробуй так
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
17.11.2010, 16:34     Выбросить из записи числа n цифры 0 и 5 #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;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2010, 16:35     Выбросить из записи числа n цифры 0 и 5 #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;
}
вот рабочий код
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 16:39     Выбросить из записи числа n цифры 0 и 5
Еще ссылки по теме:

Удалить из записи целого числа цифры 0 и 5 C++
Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр C++
C++ Проверить, есть ли в записи числа m цифры, совпадающие с цифрами в записи числа n

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

Или воспользуйтесь поиском по форуму:
r55art
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 8
17.11.2010, 16:39  [ТС]     Выбросить из записи числа n цифры 0 и 5 #12
Спасибо Dimon4ik32 все работает
Yandex
Объявления
17.11.2010, 16:39     Выбросить из записи числа n цифры 0 и 5
Ответ Создать тему
Опции темы

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