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

массив С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести в порядке неубывания (возрастания) отрицательные элементы массива http://www.cyberforum.ru/cpp-beginners/thread424267.html
Дан одномерный массив из N случайных действительных чисел в диапазоне от -5 до 5. Вывести в порядке неубывания (возрастания) отрицательные элементы этого массива. #include "stdafx.h" #include...
C++ Циклические алгоритмы (найти ошибку) Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Работу программы... http://www.cyberforum.ru/cpp-beginners/thread424245.html
C++ Оператор -> и спецификатор класса памяти extern
Оператор -> Исходя из того, что он вообще был добавлен в язык, можно сделать вывод, что такая *struct.elem запись уже где-то используется (не для доступа к элементу elem структуры struct), и...
C++ Обобщенный указатель типа void
В приложенной картинке рассказывается о динамическом распределении памяти в С. Сказано, что функция malloc() возвращает указатель типа void. Что это вообще значит?! Функции void не могут возвращать...
C++ Книга по ООП Си++ http://www.cyberforum.ru/cpp-beginners/thread424233.html
Добрый вечер , мне дали задание ,написать двусвязный список на С++ с помощью ООП... Подскажите , пожалуйста , книгу или статью, по которой можно это выучить...
C++ Пример использования спецификатора volatile В приложенной картинке (из книги Г.С. Шилдта по C++) есть пример использования спецификатора volatile. Есть три вопроса. Первый: что вообще написано в зеленой :) строке? Переменная будет... подробнее

Показать сообщение отдельно
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.01.2012, 09:56
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iterator>
 
template <class Iterator, class Generator>
void generate(Iterator first, Iterator last, Generator gen)
{
    while(first != last)
        *first++ = gen();
}
 
template<class InputIterator, class OutputIterator>
OutputIterator mycopy(InputIterator first, InputIterator last, OutputIterator result)
{
    while (first!=last) 
        *result++ = *first++;
    return result;
}
 
template <class T>
void swap(T& a, T& b)
{
    T tmp = a;
    a = b;
    b = tmp;
}
 
template <class Iterator> 
void reverse(Iterator first, Iterator last)
{
    while((first != last) && (first != --last))
        swap(*first++, *last);
}
 
template <class Iterator, class Predicate>
unsigned count_if(Iterator first, Iterator last, Predicate pred)
{
    unsigned count = 0;
    while(first != last) 
        if(pred(*first++)) 
            ++count;
    return count;
}
 
template <class T> T gen() { return std::rand() % 21; }
 
int main()
{
    std::srand(std::time(NULL));
    std::vector<int> v(10);
    generate(v.begin(), v.end(), gen<int>);
    mycopy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    reverse(v.begin(), v.end());
    mycopy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::cout << count_if(v.begin(), v.end(), std::bind2nd(std::greater<int>(), *v.begin()));
    std::cout << std::endl;
    return 0;
}
Можно короче, если взять все это из algorithm. Но вдруг нельзя вам пользоваться готовыми функциями.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru