Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Задание № 5. При написании функций можно использовать только следующее:

Сравнивает лексографически строки string1 и string2 и возвращает | То же, что и strcmp, только сравнивается не более n первых символов. | Набору символов, задаваемому строкой string2. Завершающий нулевой символ не | String1. В случае неудачи возвращается значение NULL. | В строке string1 щыуществляет замену подстрок string2 строками | Задание N 2 | Unsigned MoveGroupBits(unsigned x, unsigned y, int n1, int n2); | EraseExceptGroupBits -возвращает х с обнуленными разрядами, за исключением заданной группы | Class DateField. | Class VertMenu. |


Читайте также:
  1. I. Задание для самостоятельной работы
  2. I.Задание для самостоятельной работы
  3. III. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
  4. Блок 2, задание № 3
  5. Блок 2, задание № 4
  6. Выполните задание.
  7. Домашнее задание

При написании функций можно использовать только следующее:

- целочисленные константы;

- целочисленные аргументы функций и автоматические (локальные)переменные;

- операции ~! * + -(тип) sizeof << >>& ^ |. Группы операций расположены в порядке убывания приоритета.

Запрещается:

- использовать такие операторы как if, do, while, for, switch и т.п.;

- использовать макросы или какие либо функции;

- использовать другие операции такие как &&, ||,?:;

- использовать типы данных кроме целочисленных;

- использовать массивы, структуры и объединения.

Примеры, иллюстрирующие стиль написания функций:

pow2plus1 - возвращает 2^x + 1, где 0 <= x <= 15 (или 31)

Unsigned pow2plus1(unsigned x)

{

return (1 << x) + 1;

}

-------------------------------

pow2plus4 - возвращает 2^x + 4, где 0 <= x <= 15 (или 31)

Unsigned pow2plus4(unsigned x)

{

unsigned result = 1 << x;

result+=4;

Return result;

}

-------------------------------

conditional - выполняет то же, что и операция x? y: z

Int conditional(int x, int y, int z)

{

int size=sizeof(int);

int r1=!!x, r2;

r1=(r1<<(size-1))>>(size-1);

r2=~r1;

return (y&r1)|(z&r2);

}

***********************************************************************

Примеры результатов приведены для 16-го представления целых

***********************************************************************

№ 1

Unsigned bitAnd(unsigned x, unsigned y);

bitAnd – возвращает x&y

Пример: bitAnd(6, 5) = 4

Допустимые операции: ~ |

Подсказка: использовать закон Де Моргана

№ 2

Int nthBit(i unsigned x, int n);

nthBit – возвращает значение n-го бита x; нумерация бит начинается с 0

Пример: nthBit(4, 0) = 0, nthBit(4, 2) = 1

№ 3


Дата добавления: 2015-07-11; просмотров: 140 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Определить количество отрицательных элементов в заданной строке| Unsigned EraseGroupBits(unsigned x, int n1, int n2);

mybiblioteka.su - 2015-2024 год. (0.006 сек.)