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

Найти индекс первого элемента массива, модуль которого меньше всего отличается от 5 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнить члены вектора http://www.cyberforum.ru/cpp-beginners/thread38473.html
Как сравнивать члены вектора между собой? Например дан вектор: 000101010 Надо сравнить тройками чисел,т.е. 1-я тройка: 000 ->три 0 выводим 0 2-я тройка 101 -> две 1 и 0 выводим 1 3-я тройка...
C++ Числовой интервал Помогите плз, такая задача. Задан числовой интервал, вывести все простые числа и их кол-во. (интервал любой) http://www.cyberforum.ru/cpp-beginners/thread38471.html
C++ Как перехватить поток данных?
Как поймать поток с данными, посылаемый браузером моей программе??? Другими словами, есть HTML форма, где надо ввести "х". Вводим туда число и нажимаем "решить" (Программа находит квадрат числа х)....
C++ Программа по работе с файлом работает некорректно
Помогите найти где ошибка,программа работает со строками из файла, компилятор пишет error C2039: 'clear' : is not a member of 'basic_string<char,struct std::char_traits<char>,class...
C++ ASCII-строки http://www.cyberforum.ru/cpp-beginners/thread38407.html
как выглядят ASCII-строки в файле txt?
C++ Работа со строками в (С\С++) визуал Помогите написать программу,которая из произвольной строки(ее можно сделать как типизированную константу: например ААААВВВВВССССХХХХ) удаляет повторно встречающиеся символы. Спасибо подробнее

Показать сообщение отдельно
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
05.06.2009, 18:35
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
#include <algorithm>
#include <functional>
#include <iostream>
 
template <typename T>
struct abs_shift : public std::unary_function<T, T>
{
    abs_shift(const T& n) : n_(n) {}
    T operator()(const T& v) const
    { return std::abs(v - n_); }
    const T n_;
};
 
template <typename T, const size_t N>
void find_abs(const T (&arr)[N], const int n)
{
    T cp[N];
    std::cout << std::distance(
        cp, std::min_element(
        cp, std::transform(
        cp, std::copy(arr, arr+N, cp),
        cp, abs_shift<T>(n)))) << std::endl;
}
 
template <typename T, const size_t N>
void find_mod(const T (&arr)[N], const int n)
{
    T cp[N];
    std::cout << arr[std::distance(
        cp, std::max_element(
        cp, std::transform(
        cp, std::copy(arr, arr+N, cp),
        cp, std::bind2nd(std::modulus<T>(), n))))] << std::endl;
}
 
int main()
{
    int arr[] = { 11, 5, -4, -7, 3, 9, 0, -10 };
    const size_t N = sizeof(arr) / sizeof(arr[0]);
    const int n = 5;
 
    find_abs(arr, n);
    find_mod(arr, n);
 
    system("pause");
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru