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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Tender_whispeR
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 30
#1

Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a - C++

01.10.2010, 20:57. Просмотров 1781. Ответов 10
Метки нет (Все метки)

Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2010, 20:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a (C++):

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ - C++
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так...

Найти число, получаемое при прочтении цифр исходного числа справа налево - C++
дано пятизначное число. Найти число, получаемое при прочтении его цифр справа налево. (с помошью цикл for)

Найти число, получаемое из заданного дублированием всех четных цифр - C++
Дано натуральное число N (N<=40000). Найти число, получаемое из N дублированием всех четных цифр.

Дано натуральное число N. Найти наименьшее число М (N< M< 2N), которое делится на сумму цифр числа N (без оста - C++
Дано натуральное число N. Найти наименьшее число М (N&lt; M&lt; 2N), которое делится на сумму цифр числа N (без остатка). Если такого числа...

Дано двузначное натуральное число. Получить другое натуральное число, в котором порядок цифр изменен на противоположный - C++
Помогите пожалуйста,Дано двузначное натуральное число. Получить другое натуральное число, в котором порядок цифр изменен на противоположный

Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N - C++
Дано натуральное число N (N &lt;= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на...

10
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
01.10.2010, 21:10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <algorithm>
#include <iostream>
 
int main()
{ 
        std::string line = "123546"; //некое число
        std::cout << line
                  << std::endl
                  << "line.size() = "
                  << line.size()
                  << std::endl;
        line.assign(line.begin(), std::remove(line.begin(), line.end(), 'a')); //указывается число а
        std::cout << line 
                  << std::endl
                  << "line.size() = "
                  << line.size()
                  << std::endl;
        return 0;
}
может так?
1
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
01.10.2010, 22:00 #3
Попляшем с бубном

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
27
28
29
#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
 
int main()
{
    int numb;
    std::cout<<"Enter numb: ";
    std::cin>>numb;
    std::string Str="";
    itoa(numb, const_cast<char*>(Str.c_str()), 10);
    std::vector<int> Vec1;
    std::vector<int> Vec2;
    for(int i=0; i!=strlen(Str.c_str()); ++i)
    {
        Vec1.push_back(Str.c_str()[i]-'0'); 
    }
    std::copy(Vec1.begin(), Vec1.end(), std::ostream_iterator<int>(std::cout));
    std::cout<<std::endl;
    int a;
    std::cout<<"Enter a: ";
    std::cin>>a;
    std::remove_copy(Vec1.begin(), Vec1.end(), std::back_inserter(Vec2), a);
    std::copy(Vec2.begin(), Vec2.end(), std::ostream_iterator<int>(std::cout));
    std::cout<<std::endl;
    return 0;
}
1
TheMachinist
244 / 176 / 15
Регистрация: 14.06.2010
Сообщений: 422
01.10.2010, 23:41 #4
Народ, а как в первом примере перевести line из string в int???
atoi(?????);
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.10.2010, 23:56 #5
Цитата Сообщение от NikolaWhite Посмотреть сообщение
из string в int???
C++
1
2
3
4
5
6
7
int fromString(const std::string& s) 
{ 
    std::istringstream iss(s);
    int res;
    iss >> res;
    return res;
}
Добавлено через 1 минуту
C++
1
int atoi ( const char * str )
не подходит
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
02.10.2010, 00:01 #6
PointsEqual, c_str() никто не отменял.
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
02.10.2010, 00:10 #7
Цитата Сообщение от Lavroff Посмотреть сообщение
c_str() никто не отменял
atoi подходит
1
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
02.10.2010, 00:14 #8
NikolaWhite, Не слишком безопасно. Ибо может оказаться число больше int, тогда в t будет мусор. Хотя VS рисует там максимальное значение для int. Может быть так везде, а может UB. Не знаю.

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
 
int main()
{
    std::string Str;
    std::getline(std::cin, Str);
    int t=atoi(Str.c_str());
    std::cout<<t<<'\n';
    return 0;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,811
02.10.2010, 00:28 #9
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
27
28
29
30
31
#include <stdio.h>
 
int remove_digit(int num, int digit){
    int res, sign, current;
    
    sign = ( num < 0 ) ? -1 : 1;
    num *= sign;
    for ( res = 0; num > 0; num /= 10 )
        if ( ( current = num % 10 ) != digit )
            res = res * 10 + current;
    for ( num = 0; res > 0; res /= 10 )
        num = num * 10 + res % 10;
    
    return num * sign;
}
 
int main(void){
    int number, digit;
    
    while ( 1 ){
        printf("Number: ");
        scanf("%d", &number);
        if ( ! number )
            break;
        printf("Digit: ");
        scanf("%d", &digit);
        printf("Result: %d\n", remove_digit(number, digit));
    }
    
    return 0;
}
0
R1ch42
0 / 0 / 0
Регистрация: 26.02.2011
Сообщений: 9
25.03.2011, 09:30 #10
а можно в C

Добавлено через 7 минут
помогите плз очень нужно
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
25.03.2011, 10:00 #11
Цитата Сообщение от R1ch42 Посмотреть сообщение
а можно в C
последний пример - как раз-таки в чистом С
0
25.03.2011, 10:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2011, 10:00
Привет! Вот еще темы с ответами:

Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на обратный ( - C++
Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке - C++
1) Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число...

Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа. - C++
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает жизнь...) 4. Дано двузначное число. Вывести число,...

Дано натуральное число .Если число содержит 5 цифр - C++
Дано натуральное число N.Если число содержит 5 цифр,то получить новое число М,которое образуется путем исключения средней цифры...


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

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

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