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

Если массив является перестановкой, т.е. содержит все числа от 1 до N, то вывести 0 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Число(денежное) в строку с реализацией милиардов http://www.cyberforum.ru/cpp-beginners/thread524325.html
собственно надо чтобы число перекидывалось в например строку такого типа: семь триллионов сто восемнадцать миллиардов двести десять миллионов пятьсот тридцать две тысячи шестьсот девять рублей и...
C++ Поменять поиск информации по класу (си++) Доброй ночи, помогите пожалуйста сделать кое-какие изменения в програмке, буду благодарен) Нужно изменить как-то по другому поиск по заданным критериям, и ещё можно одновременно задавать два-три... http://www.cyberforum.ru/cpp-beginners/thread524320.html
C++ задача
Доброго времени суток. Нужна помощь. сегодня столкнулась с такой задачей (ранее была похожая задача).. Создать класс, содержащий данные, а также методы ввода, вывода и выборки по условию. Данные:...
Найти среднее арифметическое всех целых чисел на промежутке C++
найти среднее арифметическое всех целых чисел на промежутке которые диляьться на 5 и 7
C++ класс "Таймер" [C++] http://www.cyberforum.ru/cpp-beginners/thread524297.html
Требуется написать программу, реализующую класс "Таймер". Таймер должен иметь два интерфейсных метода: метод для установки начального значения и метод для печати текущего значения. Минимальное...
C++ выделение канала в WAV Привет всем! кто-нибудь может подсказать как с помощью библиотеки dsound выделить левый(первый) канал аудиофайла формата WAV?? Заранее спасибо!! подробнее

Показать сообщение отдельно
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
22.03.2012, 16:32
Решение на паскале не соответствует условию

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <vector>
 
int main()
{
    std::vector <int> vec = {2, 3, 1, 5, 5, 4};
    auto Cnt = 0;
    auto aRes = std::find_if(vec.begin(), vec.end(), [&vec, &Cnt] (int num) -> bool 
    { 
        return  num < 1 || num > vec.size() || std::find(vec.begin(), vec.begin() + ++Cnt, num) != vec.begin() + Cnt;
    });
    if(aRes != vec.end())
        std::cout<<aRes - vec.begin()<<std::endl;
    else
        std::cout<<0<<std::endl;
    system("pause");
    return 0;
}
http://ideone.com/hDBUK

Может быть предупреждение об использовании signed и unsigned значения переменных, но в этом случае его можно пропустить
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru