Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

vsDev



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
//Данные вводятся из файла на диске  и выводятся в  файл и на экран.  
//Имена входного и выходного файлов задаются в командной строке.  
//Результат выполнения задания должен быть представлен в наглядной форме.  
//
//Задание:  
//Дан массив из 12 беззнаковых чисел. Составить функцию, определяющую,  
//содержит ли двоичный код целого беззнакового числа М нули в разрядах  
//m и n. Используя эту функцию, определить количество тех элементов  
//массива, двоичные коды которых содержат нуль в битах 1 и 5.
 
#include <crtdbg.h>
#include <iostream>
 
#include <time.h>
#include <stdlib.h>
 
 
typedef unsigned int u_int;
typedef unsigned short u_short;
 
/************************************************************************/
/* isZeroIn_m
функция, определяющая, содержит ли двоичный код целого беззнакового числа  
М нуль в разряде m.        */
/************************************************************************/
bool isZeroIn_m(u_int M, u_short m){
    _ASSERTE(m < sizeof(u_int) * 8);
    return !(M & (1 << m));
}
 
/************************************************************************/
/* isZeroIn_m_n
функция, определяющая, содержит ли двоичный код целого беззнакового числа  
М нули в разрядах m и n.        */
/************************************************************************/
bool isZeroIn_m_n(u_int M, u_short m, u_short n){
    return isZeroIn_m(M, m) && isZeroIn_m(M, n);
}
 
int main(int argc, char* argv[])
{    
    const int size = 12;
    u_int arr[size];
    int i;
    
    //todo: initialize array!
    srand( (unsigned)time(NULL) );
    for (i = 0; i < size; arr[i++] = rand() * rand());
    //todo: initialize array!
 
    int count = 0;
    for (i = 0; i < size; i++)
    {
        if(isZeroIn_m_n(arr[i], 1, 5)) count++;
    };
    
    std::cout<<"There are "<<count<<" elements with zero bit in 1, 5 place!"<<std::endl;
}


Всего записей: 11 | Зарегистр. 24-03-2007 | Отправлено: 22:25 06-05-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru