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

работа с побитовыми операциями. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ есть код и есть ошибка нужно найти дырку http://www.cyberforum.ru/cpp-beginners/thread414895.html
#include <iostream.h> #include <conio.h> #include <math.h> int main(int argc, char *argv) { int i,size,n; double *mas; cout<<"size = ";
C++ Удалить из слова все буквы, совпадающие с последней буквой. Помогите решить задачу! Удалите из слова все буквы, совпадающие с последней буквой. Заранее благодарен! http://www.cyberforum.ru/cpp-beginners/thread414891.html
C++ Проверить, есть ли в слове приставка "пре" или "пре".
Помогите решить задачу! Проверить, есть ли в слове приставка "пре" или "пре". Заранее благодарен!
НЕ может найти ехе-файл.Как исправить положение C++
http://pikucha.ru/i7rNU/thumbnail/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.jpeg эта проблема преследует на всех компах,которые у меня есть! А как решить,честно,не нашел.
C++ Подскажите в чем ошибка http://www.cyberforum.ru/cpp-beginners/thread414846.html
Вывести матрицу из 20 элементов целого типа. Определить каких элементов больше четных или нечетных { int A, i, m=0, n=0; for(i=0; i<=19; i++) A=StrToInt(Memo1->Lines->Strings); if(A%2==0) m=m+1; else n=n+1; if(m<n) ShowMessage ("÷åòíûõ áîëüøå"); else ShowMessage("íå÷åòíûõ áîëüøå") ;}
C++ Задача на С++ Помогите написать задачу на С++. Построить класс ГЕМЕТРИЧЕСКОЕ МЕСТО ТОЧЕК НА ПЛОСКОСТИ,определяемый следующими атрибутами :количество точек и два динамических массива координат.Методы:определить суммарную длинну отрезков,полученных последовательным соеденением точек(первой со второй ,…n-1 точкой с n точкой);показать всю информацию об объекте.Построить производный класс ЛОМАННАЯ ЛИНИЯ,который... подробнее

Показать сообщение отдельно
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.12.2011, 21:11     работа с побитовыми операциями.
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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <numeric>
#include <iterator>
 
int main()
{
    srand(time(NULL));
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), [] { return rand() % 21; });
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    int sum = std::accumulate(v.begin(), v.end(), 0,
        [](int init, int num)
        {
            return (((num & 1) && (num & (1 << 4))) ? (init + num) : (init));
        } 
    );
    std::cout << sum << ' ';
    int count = 0;
    while(sum)
    {
        if(!(sum & 1))
            ++count;
        sum >>= 1;
    }
    std::cout << count << std::endl;
}
Без лямбда
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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <numeric>
#include <iterator>
 
template <class T> T gen() { return rand() % 21; }
 
template <class T> T func(T init, T num)
{   
    return (((num & 1) && (num & (1 << 4))) ? (init + num) : (init));
} 
 
int main()
{
    srand(time(NULL));
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), gen<int>);
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    int sum = std::accumulate(v.begin(), v.end(), 0, func<int>);
    std::cout << sum << ' ';
    int count = 0;
    while(sum)
    {
        if(!(sum & 1))
            ++count;
        sum >>= 1;
    }
    std::cout << count << std::endl;
}
 
Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru