Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 9
1

Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0

29.01.2015, 21:16. Просмотров 2729. Ответов 9
Метки нет (Все метки)

Дано четырехзначное натуральное число. Удалить из записи этого числа все
чётные цифры и цифру 0.
По возможности не решать задачу а направить меня на решение.
Мои действия были таковы:
-задал изначальное натуральное число
-задал полученное после операции число
-задал каждую цифру натурального числа
-выделил каждую цифру числа
-ПОМОГИТЕ ТУТ:Не могу выбрать правильную команду: while (цифры !=0), а что вот делать дальше?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2015, 21:16
Ответы с готовыми решениями:

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

Дано натуральное число. Определить минимальную цифру этого числа
Given a positive integer N.Write a program that determines the smallest digit which can be found in...

Дано натуральное число. Заменить предпоследнюю цифру числа на 2 (цифры числа нумеруются справа налево)
Дано натуральное число. Заменить предпоследнюю цифру числа на 2 (цифры числа нумеруются справа...

Дано натуральное n. Определить, упорядочены ли по возрастанию или по убыванию цифры в записи этого числа
Дано натуральное n. Определить, упорядочены ли по возрастанию или по убыванию цифры в записи...

9
Эксперт PHP
2668 / 2336 / 1094
Регистрация: 14.05.2014
Сообщений: 6,681
Записей в блоге: 1
29.01.2015, 21:26 2
tk45adil, выкладывайте код.
1
30 / 30 / 38
Регистрация: 23.01.2015
Сообщений: 174
29.01.2015, 21:41 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main(int argc, char* argv[])
{
    int val = 3456;
 
    int i = 0; int rval = 0;
    for (int x = val; x >= 1; x /= 10)
        if (((x % 10) % 2) != 0 && (x % 10) != 0)
            rval += (x % 10) * pow((double)10, i++);
 
    printf("%d %d\n",val, rval);
 
    _getch();
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 9
29.01.2015, 21:42  [ТС] 4
Спасибо, но мне на С++.
0
30 / 30 / 38
Регистрация: 23.01.2015
Сообщений: 174
29.01.2015, 21:43 5
А это и есть на С++
0
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 9
29.01.2015, 21:48  [ТС] 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
int main()
{int n,m,a,b,c,d; //n-isxodnoe chislo m- poluchennoe cislo a,b,c,d - cifri 4x znachnogo chisla
cin>>n;
a=(n/1000)%10;
b=(n/100)%10;
c=(n/10)%10
d=n%10;
 
    return 0;
}
а что дальше не знаю, если можно, объясните на уровне 1го курса, только начал обучению программирования. Спасибо.

Добавлено через 54 секунды
Разве операторы ввода и вывода в С++ это printf и scanf?
Это же в "C" так.
0
Эксперт PHP
2668 / 2336 / 1094
Регистрация: 14.05.2014
Сообщений: 6,681
Записей в блоге: 1
29.01.2015, 21:49 7
Лучший ответ Сообщение было отмечено tk45adil как решение

Решение

tk45adil,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int main()
{
    int num; // начальное число
    int res = 0; // результирующее число
    int pow_10 = 1; //степени десяти
    do // вводим число клавиатуры до тех пор
    {
        std::cout << "Enter a number: ";
        std::cin >> num;
    } while (num < 1000 || num > 9999); //пока это число не четырехзначное
    while (num) // пока число не равно нулю
    {
        if (num % 2) // если число нечетное
        {   
            res += num % 10 * pow_10; //берем его последнюю цифру и умножаем на i-тую степень 10 (i = 0, 1, 2, 3) и складываем с результатом
            pow_10 *= 10; // увеличиваем степень десяти
        }
        num /= 10; // отсекаем последнюю цифру
    }
    std::cout << res << std::endl; // выводим результат
}
1
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 9
29.01.2015, 21:51  [ТС] 8
Спасибо Вам большое!
0
Эксперт PHP
2668 / 2336 / 1094
Регистрация: 14.05.2014
Сообщений: 6,681
Записей в блоге: 1
29.01.2015, 21:56 9
Цитата Сообщение от 1XPLoade1 Посмотреть сообщение
C++
1
if (((x % 10) % 2) != 0 && (x % 10) != 0)
1) при проверке x % 2 - ноль считается четным числом
2) если число четное, то и последняя его цифра четная
1
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 9
29.01.2015, 21:59  [ТС] 10
Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2015, 21:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дано натуральное число л. Найти сумму первой и последней цифры этого числа
Дано натуральное число л. Найти сумму первой и последней цифры этого числа.

Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа
Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа.

Дано натуральное число л. Переставить местами первую и последнюю цифры этого числа
Дано натуральное число л. Переставить местами первую и последнюю цифры этого числа.

Дано натуральное число n. Найти сумму первой и последней цифры этого числа
Дано натуральное число n. Найти сумму первой и последней цифры этого числа.


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

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

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