Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/28: Рейтинг темы: голосов - 28, средняя оценка - 4.93
zhenya.ya
1 / 1 / 2
Регистрация: 29.11.2009
Сообщений: 305
1

Удалить из записи числа N цифры 0 и 5, оставив прежним порядок остальных цифр

11.12.2009, 19:12. Просмотров 5088. Ответов 5
Метки нет (Все метки)

Дано натуральное число 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
#include "stdafx.h"
#include <conio.h>
void f(int arr[]);
void main(void)
{
    int i,arr[7];
    for(i=0;i<5;i++){
            scanf("%i",&arr[i]);
    }
 f(arr);
}
void f(int arr[])
{
int i;
for(i=0;i<5;i++)
if(arr[i]!=5&&arr[i]!=0) printf("%i",arr[i]);
getch(); 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2009, 19:12
Ответы с готовыми решениями:

Удалить из записи числа N цифры 0 и 5, оставив прежним порядок остальных цифр
Дано натуральное число N. Удалить из записи числа N цифры 0 и 5, оставив прежним порядок остальных...

Из записи числа n выбросить цифры 0 и 5, оставив прежним порядок остальных цифр
Дано натуральное число n. Найти значение числа, полученного следующим образом: из записи числа n...

Выбросить из записи заданного числа указанные цифры, оставив прежним порядок остальных цифр
Вот условие: Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Если...

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

Удалить из записи числа цифры 0 и 5, оставив прежним порядок остальных цифр
Дано четырехзначное число n. Удалить из записи числа цифры 0 и 5, оставив прежним порядок остальных...

5
breeve
76 / 76 / 29
Регистрация: 01.08.2009
Сообщений: 177
11.12.2009, 19:17 2
Цитата Сообщение от zhenya.ya Посмотреть сообщение
Дано натуральное число N. Удалить из записи числа N цифры 0 и 5, оставив прежним порядок остальных цифр. Например, из числа 59015509 должно получиться число 919.

Вот вариант, но в нем вводится массив, а это не правильно
Вопрос: если я ввожу число с клавы. Как записать его в массив?!
Как вариант можно число перевести в строку. И будет тебе массив. И твори с ней что угодно..
0
Raven Lazy
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 3
11.12.2009, 19:41 3
если число не очень длинное (не нужно использовать строковые типы данных) можно вообще обойтись без масива и переведения в строчку. в переменную вбиваешь остаток от деления на 10 (в начальную переменную вбиваешь целую часть от деления на 10), проверяешь 0 это или 5. если ни то ни другое передаеш в переменную-ответ. единственная проблема - ответ задом-наперед, но это решить легко. (один с методов смотри выше)
0
ildarn
0 / 0 / 3
Регистрация: 07.12.2009
Сообщений: 14
11.12.2009, 19:43 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

получилось только заменять на пробелы ..(

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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string s ("55559000000015509");
    cout << s << "\n";
 
        int a = s.find ( "0" );
        while ( a < string::npos )
        {
            s.replace (a, 1, " ");
            a = s.find ( "0", a + 1 );
        }
 
        int b = s.find ( "5" );
        while ( b < string::npos )
        {
            s.replace (b, 1, " ");
            b = s.find ( "5", b + 1 );
        }
 
    cout << s << endl;
}
0
Rififi
2365 / 1058 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
11.12.2009, 20:23 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
long mutate_number(long n)
{
    std::stringstream ss;
    ss << n;
 
    std::string s;
    ss >> s;
 
    const struct { bool operator()(char ch) const { return ch == '0' || ch == '5'; } } x;
    s.erase(std::remove_if(s.begin(), s.end(), x), s.end());
 
    ss.clear();
    ss.str(s);
    ss >> n;
 
    return n;
}
0
manfeese
131 / 130 / 29
Регистрация: 04.01.2009
Сообщений: 415
11.12.2009, 20:35 6
Raven Lazy, Этот вопрос уже был решен для стандартных чисел типа int http://www.cyberforum.ru/cpp-beginners/thread70641.html#post395991.

Видимо, автору нужно вводить числа большой длины
0
11.12.2009, 20:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2009, 20:35

Выбросить из записи числа P цифры 0, оставив прежним порядок остальных цифр
Доброго времени суток. Решил обратиться сюда за помощью, т.к. своих возможностей не хватает, к...

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

Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр
Здравствуйте! Помогите решить задачку такого типа на C# (нужно пользоваться конструкцией for,...


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

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

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