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

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

Войти
Регистрация
Восстановить пароль
 
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
#1

Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра - C++

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

Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний правый бит считать нулевым по номеру). Проверять правильность значений n и p.

Задали такое !! это с накладыванием маски !! помогите !!!!!!!!!!!!!!!!!!!!!!!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 19:12     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра
Посмотрите здесь:
C++ Написать функцию, которая возвращает число, полученное из числа X,в котором все розряды, расположенные правее центральной позиции, заменены
Напишите функцию, которая для любого целого аргумента возвращает целое значение, полученное изменением порядка следования цифр на обратный C++
C++ Напишите функцию, которая возвращает значение полученное из первой и последней цифры числа
C++ Написать функцию, которая ищет число в одноименном массиве и возвращает индекс каждого вхождения этого числа
Написать функцию, которая возвращает возведённое в степень число... C++
C++ Написать функцию, которая принимает число, а возвращает его факториал
C++ Напишите функцию, которая принимает два целых числа n и k и возвращает число, содержащее k первых цифр числа n
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
12.06.2013, 22:12     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #2
Виkтория, то есть дано число x и надо его изменить добавив n бит начиная с p-ой позиции?? я правильно понял
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
12.06.2013, 22:28  [ТС]     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #3
да ..все правильно
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
13.06.2013, 09:09     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #4
Виkтория, а если мы начинаем добавлять единички, начиная с p-ой позиции, а у нас уже там есть единичка, то что мы делаем? пропускаем её или обнуляем?
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
13.06.2013, 21:03  [ТС]     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #5
обнуляем !
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
13.06.2013, 22:10     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #6
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()
{
    unsigned long x;
    int p, n;
    cin >> x;
    cin >> p;
    cin >> n;
    if((n + p) > 32)
    {
        cout << "сумма превышает 32 бита" << endl;
        return 0;
    }
    for(int i = 0, j = p; i < n; i++, j++)
        x |= (1 << j);
    cout << x << endl;
    return 0;
}
если что-то не так, то пиши, сделаем по-другому=)
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
13.06.2013, 22:26  [ТС]     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #7
а зачем эта строка ???

cout << "сумма превышает 32 бита" << endl;
return 0;
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.06.2013, 07:13     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #8
Виkтория, максимальный размер это тип - unsigned long он имеет размер 32 бита(или 4 байта) , поэтому если мы укажем позицию p и число единичек n, то их сумма не должна превышать размера 32 бита=) вот=)

да, ещё можно добавить проверку по отдельности, чтобы каждая из n и p не превышала 32 бит=)
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
14.06.2013, 12:47  [ТС]     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #9
а как сделать именно за функцией пользователя !!! а то тут как-бы не за функцией
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.06.2013, 13:40     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #10
Виkтория, что сделать и за какой функцией=)? ты напиши что конкретно надо, а то я ничего не могу понять=))
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
14.06.2013, 19:04  [ТС]     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #11
должна иметь главную функцию main (),что служит точкой входа в программу. Кроме функции main, в программу может входить произвольное число пользовательских функций.
Функция должна вернуть к основной программе значение, которое она определила.
<Тип> <имя_функции> (<формальные параметры>) {<тело функции>}
Функция выполняет действия, которые в ней закодированы, с помощью оператора вызова. При определении функции в заголовке описываются формальные параметры, которые заменяются на аргументы при вызове функции. Если функция НЕ возвращает в точку вызова, то формат оператора вызова имеет видимя_функции (аргументы);Если функция возвращает любое значение, то при вызове это значение надо присвоить переменной соответствующего типа. Формат оператора вызова таков:имя_переменной = имя_функции (аргументы);То есть, вызов функции может быть оформлен в виде оператора или в виде выражения.
Функция может быть объявлена ​​в виде:void имя_функции (void);

Добавлено через 37 секунд
это с теории !!! больше даже не знаю как обьяснить (((((((((((
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.06.2013, 19:28     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #12
так что ли?

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 <iostream>
 
using namespace std;
 
void Bits(int p, int n, unsigned long &x)
{
    for(int i = 0, j = p; i < n; i++, j++)
        x |= (1 << j);
}
 
int main()
{
    unsigned long x;
    int p, n;
    cin >> x;
    cin >> p;
    cin >> n;
    if((n + p) > 32)
    {
        cout << "сумма превышает 32 бита" << endl;
        return 0;
    }
    Bits(p, n, x);
    cout << x << endl;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 19:51     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра
Еще ссылки по теме:
Напишите функцию, которая принимает два целых числа n и k и возвращает число, содержащее k первых цифр числа n C++
C++ Рекурсия:написать функцию которая возвращает степень числа
C++ Написать функцию, которая принимает два числа и возвращает
Написать функцию, которая принимает два числа и возвращает C++

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

Или воспользуйтесь поиском по форуму:
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
14.06.2013, 19:51  [ТС]     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра #13
думаю , то что надо !!! спасибоо ) очень -очень
Yandex
Объявления
14.06.2013, 19:51     Написать функцию, которая возвращает число, полученное из целого числа x, в котором единицы установлены в n разрядов, начиная с позиции p (крайний пра
Ответ Создать тему
Опции темы

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