Два соседних элемента сумма которых максимальна

от admin

Как найти соседние элементы массива, сумма которых максимальна (минимальна)?

Я попытался решить эту задачу. Вроде получилось, но хочется получить понимание того, как именно ее правильно решить, какие варианты будут оптимальные, а самое главное почему. У меня получилось три варианта, но кажется, что имееются варианты решения получше.

Какой из этих или других вариантов решения задачи выбрать и почему?

Вторая часть вопроса

Во время решения захотелось получить два соседних элемента, сумма которых минимальна и, если на примере второго и третьего вариантов мне понятно как решить задачу по нахождению минимальной суммы двух подряд идущих элементов, то на примере первого варианта нет. По алгоритму первого варианта для нахождения максимальной суммы двух подряд идущих элементов я использую сравнение if x > max_lst, но как поступить в случае с нахождением минимальной суммы, с чем сравнивать мне непонятно.

Одномерные массивы

Дан массив A ненулевых целых чисел размера 10. Вывести значение первого из тех его элементов AK, которые удовлетворяют неравенству AK < A10. Если таких элементов нет, то вывести 0.

Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами: A2, A4, A6, … .

Дан массив A размера N и целые числа K и L (1  K < LN). Переставить в обратном порядке элементы массива, расположенные между элементами AK и AL, не включая эти элементы.

Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов AK, которые удовлетворяют двойному неравенству A1 < AK < A10. Если таких элементов нет, то вывести 0.

Дан массив A размера N. Найти максимальный элемент из его элементов с нечетными номерами: A1, A3, A5, … .

Дан массив размера N. Обнулить все его локальные максимумы (то есть числа, большие своих соседей).

Дан массив размера N и целые числа K и L (1  KLN). Найти сумму элементов массива с номерами от K до L включительно.

Дан целочисленный массив A размера N ( 15). Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номерами (1, 3, …) и вывести размер полученного массива B и его содержимое.

Дан массив A размера N и целые числа K и L (1  K < LN). Переставить в обратном порядке элементы массива, расположенные между элементами AK и AL, включая эти элементы.

Дан массив размера N и целые числа K и L (1  KLN). Найти среднее арифметическое элементов массива с номерами от K до L включительно.

Дано число R и массив A размера N. Найти элемент массива, который наиболее близок к числу R (то есть такой элемент AK, для которого величина |AKR| является минимальной).

Дан целочисленный массив размера N. Увеличить все нечетные числа, содержащиеся в массиве, на исходное значение последнего нечетного числа. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.

Дан массив размера N и целые числа K и L (1 < KLN). Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно.

Дан массив размера N. Найти максимальный из его локальных минимумов (локальный минимум — это элемент, который меньше любого из своих соседей).

Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от 1 до K.

Дан массив размера N и целые числа K и L (1 < KLN). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от K до L включительно.

Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в новый массив.

Дан целочисленный массив размера N. Увеличить все четные числа, содержащиеся в массиве, на исходное значение первого четного числа. Если четные числа в массиве отсутствуют, то оставить массив без изменений.

Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию . Если образуют, то вывести разность прогрессии, если нет — вывести 0.

Читать:
Как узнать годовую оценку

Дан массив размера N. Найти минимальный из его локальных максимумов (локальный максимум — это элемент, который больше любого из своих соседей).

Дан целочисленный массив A размера N ( 15). Переписать в новый целочисленный массив B все элементы с порядковыми номерами, кратными трем (3, 6, …), и вывести размер полученного массива B и его содержимое.

Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию. Если образуют, то вывести знаменатель прогрессии, если нет — вывести 0.

Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы со своими индексами.

Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B все четные числа из исходного массива (в том же порядке) и вывести размер полученного массива B и его содержимое.

Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.

Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные номера выводить в новый массив.

Дано число R и массив размера N. Найти два соседних элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов (то есть такой элемент AK, для которого величина |AKR| является минимальной).

Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.

Дан массив размера N. Найти максимальный из его элементов, не являющихся ни локальным минимумом, ни локальным максимумом . Если таких элементов в массиве нет, то вывести 0.(локальный минимум — это элемент, который меньше любого из своих соседей, локальный максимум — это элемент, который больше любого из своих соседей).

Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы со своими индексами.

Два соседних элемента сумма которых максимальна

Всем привет! Прошу помощи в решении следущих задач, которые можно решить на Borland C++ Builder или Visual C++:

Одномерные массивы:

Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов.

Дан массив размера N и целое число K (1 меньше или равен K < N). Осуществить сдвиг элементов массива вправо на K позиций (при этом A[1] перейдет в A[K+1], A[2] — в A[K+2], …, A[N–K] — в A[N], а исходное значение K последних элементов будет потеряно). Первые K элементов полученного массива положить равными 0.

Процедуры и функции:

Описать функцию TriangleP(a, h), находящую периметр равнобедренного треугольника по его основанию a и высоте h, проведенной к основанию (a и h — вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты. Для нахождения боковой стороны b треугольника использовать теорему Пифагора:
b <2>= (a/2) <2>+ h<2>.

Выражения в [. ]-нижний регистр. Выражния <>-верхний регистр (в данном случае квадрат).

Ничего преподавателями не обяснялось. Все задачи самостоятельные. Идёт очень туго. Предыдущие решил, остались эти 3 до получения зачёта. Кто обладает знаниями в этой сфере прошу откликнуться.

C++ Дано массив из 20 элементов. Найти пять соседних элементов, сумма значений которых максимальная

Вообще в голову не лезет как это написать.

Вы можете найти сумму пяти элементов массива, которые идут подряд, начиная с самого первого элемента массива? А начиная с самого второго? А с третьего? И так далее. Запоминайте в переменные индекс начала пятерки с самой большой суммой и саму сумму. Не забудьте остановиться за пять элементов до конца массива, чтобы не залезть за его границу.

Похожие статьи