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

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

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

Сформировать число, которое будет состоять только из четных восьмеричных цифр исходного - C++

05.05.2010, 00:40. Просмотров 1364. Ответов 4
Метки нет (Все метки)

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

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

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

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

Инверсия двоичного представления четных восьмеричных цифр, входящих в состав числа - C++
Добрый день! Помогите пожалуйста с программой. В программу вводится число. Нужно выполнить инверсию двоичного представления ...

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

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

4
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
05.05.2010, 07:20 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    int x;
    cin >> x;
    cout << "oct " << oct << x << '\n';
    int y=0;
    while (x > 0)
    {
        if (((x & 0x1) == 0) && ((x & 7)!=0))
        {
            y = y << 3;
            y= y+ (x & 7);
        }
        x=x >> 3;
    }
    // в числе-результате числа в обратном порядке тому к котором они встречаются в исходном числе
    cout << "result oct " << oct << y << '\n';
    return 0;
}
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
05.05.2010, 09:21 #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
30
31
32
33
34
35
//MS VS
#include "stdafx.h"
#include <iostream>
 
unsigned get_digits(unsigned x)
{
    unsigned res = 0;
    size_t count = 0;
    do
    {
        res += (x & 7) << (count++ * 3);
    }while(x >>= 6);
    return res;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    unsigned num;
    for(;;)
    {
        std::cout << "input num: ";
        std::cin >> num;
        std::cout 
            << "oct num = " 
            << std::oct 
            << num
            << std::endl        
            << "result = "                 
            << get_digits(num)
            << std::endl
            << std::endl;   
    }
    return 0;
}
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
05.05.2010, 18:46 #4
Mr.X, такой тест введи: 341412.
result не верный. И зачем зацикливать?
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
05.05.2010, 22:32 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Aye Aye Посмотреть сообщение
Mr.X, такой тест введи: 341412.
result не верный. И зачем зацикливать?
У меня получилось:
input num: 341412
oct num = 1232644
result = 1364

А что здесь неверно?

Кстати, ваша программа дает такой результат:
341412
oct 1232644
result oct 44622

По-моему это неправильно.
А цикл исключительно для удобства, чтобы каждый раз не запускать программу.

Добавлено через 2 часа 38 минут
Может я неверно задание понял. Мне показалось, что нужно вывести цифры, стоящие на четном месте в восьмеричном числе, а нужно цифры, четные по значению?

Добавлено через 19 минут
Вот программа для вывода четных по значению восьмеричных цифр:
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
32
33
34
35
36
37
38
39
40
41
//MS VS
#include "stdafx.h"
#include <iostream>
 
unsigned get_digits(unsigned x)
{
    unsigned res = 0;
    size_t count = 0;
    unsigned cur_oct_dig;
    do
    {
        cur_oct_dig = x & 7;
        if(cur_oct_dig % 2 == 0)
        {
            res += cur_oct_dig << (count++ * 3);
        }
        
    }while(x >>= 3);
    return res;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    unsigned num;
    for(;;)
    {
        std::cout << "input num: ";
        std::cin >> num;
        std::cout 
            << "oct num = " 
            << std::oct 
            << num
            << std::endl        
            << "result = "                 
            << get_digits(num)
            << std::endl
            << std::endl;   
    }
    return 0;
}
0
05.05.2010, 22:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2010, 22:32
Привет! Вот еще темы с ответами:

Определить состоит ли число только из четных цифр - C++
Определить состоит ли число только из четных цифр Записать число в обратном порядке. За помощь спасибо.:)

Для каждого числа последовательности вывести новое число, состоящее только из четных чисел исходного числа - C++
жду помощи!!!С++ водится последовательность из N целых чисел.Для каждого числа последовательности вывести новое число которое состоит...

Сформировать новый массив из четных чисел исходного - C++
Дан массив Z(10). Сформировать новый массив из четных чисел исходного, лежащих в интервале

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


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

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

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