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

Определение возможности сортировки массива удалением одного элемента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исполнение функции-члена в отдельном потоке http://www.cyberforum.ru/cpp-beginners/thread1773562.html
Здравствуйте, форум! Вот такой вот пример: Имеется класс, в котором есть 3 перегрузки одной функции. class A { public: void func1();
C++ Обработка записей содержащих структуры "Студент" Задание для самостоятельного выполнения Составить программу, обеспечивающую формирование данных из задания 5 в виде списка. Реализовать следующие операции работы со списком в виде меню: Меню: 1.Добавление записи (подменю: 1.1. в начало списка, 1.2.в конец списка, 1.3.после первой записи, удовлетворяющей некоторому условию (придумать самостоятельно)) 2.Удаление записи (по значению текстового... http://www.cyberforum.ru/cpp-beginners/thread1773559.html
Обработка структур AER0FL0T C++
Описать структуру с именем AER0FL0T, содержащую следующие поля: • название пункта назначения рейса; • номер рейса; • тип самолета. •Вывести номера рейсов и типов самолетов,вылетающих в пункт назначения ,название которого совпало и с названием введенным с клавиатуры • если таких рейсов нет, вывести соответствующее сообщение).
Visual Studio Не получается собрать исходный код
привет. я использую Microsoft Visual C++ 2010 Express. я хочу разогнать эмулятор nestopia. но у меня не получается построить эмулятор из исходного кода (построение - построить решение). в сам код я пока что не вносил никаких изменений, он просто не собирается у меня на компе. поначалу при сборке было очень много ошибок. я спросил совета у знакомого, он сказал поставить Microsoft DirectX SDK...
C++ Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии http://www.cyberforum.ru/cpp-beginners/thread1773523.html
Дана квадратная матрица порядка . Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы.
C++ Динамически распределяемая память, удаление символов в строке Нужна помощь в написании программы: Удаление символов Написать функцию, обеспечивающую ввод с клавиатуры строки неограниченной длины без редактирования. Написать функцию, которая удаляет символы, стоящие между двумя определенными символами. Символ вводится пользователем. Примечание: В каждой задаче должна быть реализована проверка на целостность кучи. При работе со строками учитывать символ... подробнее

Показать сообщение отдельно
Babysitter
80 / 107 / 35
Регистрация: 23.11.2015
Сообщений: 331
Завершенные тесты: 1
01.07.2016, 15:53     Определение возможности сортировки массива удалением одного элемента
Ka_ktus, ага, очень хотелось не портить исходный массив, чтобы не пришлось копировать. хотелось меньше кода написать - не получилось, недостаточно продумал, стыдненько. кажется, что так неплохо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template <class Iter, class Pred>
bool check(Iter begin, Iter end, Pred foo)
{
    bool first_miss = true;
    auto temp = *begin;
    for(Iter it = begin; it != end - 1;)
    {
        if(!foo(temp, *(it + 1)))
            if(first_miss)
            {
                first_miss = false;
                if (it != begin)
                {
                    temp = *(it - 1);
                    continue;
                }
            }
            else
                return false;
        temp = *(it + 1); ++it;
    }
    return true;
}
Добавлено через 9 минут
кстати, если first_miss установлен в true перед return true; из функции - это значит, что массив уже является отсортированым.
 
Текущее время: 14:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru