Форум программистов, компьютерный форум 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, содержащую следующие поля: • название пункта назначения рейса; • номер рейса; • тип самолета. •Вывести номера рейсов и типов самолетов,вылетающих в пункт назначения ,название которого совпало и с названием введенным с клавиатуры • если таких рейсов нет, вывести соответствующее сообщение).
Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии C++
Дана квадратная матрица порядка . Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы.
C++ Динамически распределяемая память, удаление символов в строке http://www.cyberforum.ru/cpp-beginners/thread1773513.html
Нужна помощь в написании программы: Удаление символов Написать функцию, обеспечивающую ввод с клавиатуры строки неограниченной длины без редактирования. Написать функцию, которая удаляет символы, стоящие между двумя определенными символами. Символ вводится пользователем. Примечание: В каждой задаче должна быть реализована проверка на целостность кучи. При работе со строками учитывать символ...
C++ Напечатать все слова последовательности, предварительно преобразовав каждое из них по правилу Нужна помощь в написании программы: Дана последовательность, содержащая до 5 слов, в каждом из которых до 5 строчных латинских букв; между соседними словами — не менее одного пробела, за последним словом — точка. Напечатать все слова последовательности, предварительно преобразовав каждое из них по следующему правилу: 1) перенести последнюю букву в начало слова; 2) удалить из слова первую... подробнее

Показать сообщение отдельно
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
01.07.2016, 16:02     Определение возможности сортировки массива удалением одного элемента
Цитата Сообщение от Ka_ktus Посмотреть сообщение
Можете словесно объяснить алгоритм, чтобы я мог доделать код
Можно проще.
Рассматриваем разности соседних элментов. Каждая разность либо 0, либо положительная, либо отрицательная. Считаем количество. Если количество + и - больше 1 - ответ "нет". Иначе рассматриваем подмассив из четырех элементов, где в середине меняется знак. Если знак меняется на границе массива - ответ "да". Иначе (рассматриваем для ясности пример с одним "-" он, напомню между, [1] и [2]) если [0]<=[1]<=[3] или [0]<=[2]<=[3] ответ "да". Для случая единственного "+" - аналогично. Если и + и - встречаются 1 раз - рассмотреть нужно оба.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru