Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возраста
uses crt;
var
a: array[1..100] of integer;
i, n, k, sum: integer;
begin
clrscr;
writeln(‘Vvedite razmer massiva:’);
readln(n);
writeln(‘Vvedite massiv:’);
for i := 1 to n do
readln(a[ i ]);
sum := a[1] + a[2 ];
for i := 1 to n — 1 do
begin
if a[ i ] + a[ i + 1 ] > sum then
begin
sum := a[ i ] + a[ i + 1 ];
k := i;
end;
end;
writeln(a[k], ‘ and ‘, a[k + 1]);
readln;
end.
Найти два соседних элемента массива, сумма которых максимальна
2.Данo массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Найти два соседних элемента массива, сумма которых максимальна
Доброго времени суток! Прошу помощи в решении следущих задач, которые впрочем можно решить и на.
Найти два соседних элемента массива, сумма которых минимальна
Дан массив.Найдите два соседних элемента,сумма которых минимальнп.

Найти порядковые номера двух соседних элементов массива, сумма которых максимальна
Найти порядковые номера двух соседних элементов массива, сумма которых максимальна. Если таких пар.
Найти порядковые номера двух соседних чисел, сумма которых максимальна.
7.79. Дана последовательность целых чисел Х1, Х2. Хn где n >= 3. Найти: в) порядковые номера.
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
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
#include #include #include int main(int argc, const char * argv[]) { std::random_device dev; std::mt19937 rng(dev()); std::uniform_int_distributionstd::mt19937::result_type> dist(0, 9); int N; std::cout <"Input array size: "; std::cin >> N; int *array = new int[N]; for (int n = 0; n N; ++n) { array[n] = dist(rng); std::cout :: setw(2) [ n] <" "; } std::cout :: endl; int maxSum = 0; for (int n = 0; n N - 1; ++n) { int sum = array[n] + array[n + 1]; if (sum > maxSum) { maxSum = sum; } } std::cout <"Max sum of two near elements = " :: endl; delete[] array; return 0; }
7428 / 5021 / 2891
Регистрация: 18.12.2017
Сообщений: 15,692
Celly, в условии не сказано, что в массиве только неотрицательные числа. в общем случае max инициализируется минимальным значением типа
что массив целочисленный тоже кстати не сказано
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
Yetty, Обратного тоже не сказано. Ни о диапазоне значений массива ни о типе значений. В чём замечание?
7428 / 5021 / 2891
Регистрация: 18.12.2017
Сообщений: 15,692
Сообщение от Celly 
В чём замечание?
в том что если дан произвольный массив, например 2.3 5.7 -2.5 что не противоречит условию задачи, Ваш код обработает его неправильно
то есть Ваше решение написано под такое условие:
Дан массив натуральных чисел размера N.
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
Сообщение от Yetty 
в том что если дан произвольный массив, например 2.3 5.7 -2.5 что не противоречит условию задачи, Ваш код обработает его неправильно
то есть Ваше решение написано под такое условие:
Дан массив натуральных чисел размера N.
А решение с целочисленным типом противоречит условию?
7428 / 5021 / 2891
Регистрация: 18.12.2017
Сообщений: 15,692
Сообщение от Celly 
А решение с целочисленным типом противоречит условию?
Вы на самом деле не понимаете что я пытаюсь Вам донести ? решение с целочисленным типом не противоречит условию, оно не охватывает все возможные варианты которые могут быть по условию
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
Сообщение от Yetty 
Вы на самом деле не понимаете что я пытаюсь Вам донести ? решение с целочисленным типом не противоречит условию, оно не охватывает все возможные варианты которые могут быть по условию
Всё понятно. Решить задачу более универсальным способом. Просто с вашей логикой, что если массив чисел Complex? Или Big Integer? Вы предусматривали это в вашем решении?
Моя точка зрения в том, что чем проще решение, тем лучше. Если появится необходимость у ТС сделать для других типов, всегда можно задать дополнительные вопросы здесь.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Найти номера двух соседних столбцов матрицы, сумма элементов в которых максимальна
Дан двумерный массив из двух строк и двадцати столбцов. Найти номера двух соседних столбцов, сумма.
В матрице b[n][m] найти 4 последовательных элемента, сумма которых максимальна
я что-то пытался сделать но моя подготовка еще не на столько велика 😥 кто чем сможет.

Найти в массиве три последовательных элемента, сумма которых максимальна
3) Найдите три последовательных элементов, сумма которых максимальна, в числовом массиве из 30.
Найти два элемента массива, сумма которых наиболее близка к заданому числу.
Помогите пожалуйста, срочно нужно написать такую программу: задано действительное число R і массив.
Найти два различных элемента массива, сумма которых наиболее близка к числу R
Дано число R и массив размера N. Найти два различных элемента массива, сумма которых наиболее.

Найти два элемента массива, сумма которых наименее близка к данному числу R
1)Дано вещественное число R и массив размера n. Найти два элемента массива, сумма которых наименее.
Данo массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы. Пожалуйста, помогите написать код на с++ (как можно проще)
Данo массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы.
Пожалуйста, помогите написать код на с++ (как можно проще)
Новые вопросы в Информатика
Кто разработал архитектуру персонального компьютера?
а = input(«Введи час: «) print(«В хвилині — «,(а*60),» секунд») print(«В годині — «,(а*3600),» секунд») print(«В добі — «,(а*(3600*24)),» секунд») pri … nt(«В місяці — «,(а*(3600*24)*30),»або»,»(а*(3600*24)*31)»,» секунд») print(«В році — «,(а*(3600*24)*365),» секунд») что здесь не так
как выйти из сюжетного режима в gta v
решите без генератора чисел и def если можно Задание 1Создайте программу «Фирма». Нужно хранить информацию о человеке: ФИО, телефон, рабочий email,наз … вание должности, номер кабинета, skype. Требуетсяреализовать возможность добавления, удаления, поиска, замены данных. Используйте словарь для храненияинформации.Задание 2Создайте программу «Книжная коллекция». Нужнохранить информацию о книгах: автор, название книги,жанр, год выпуска, количество страниц, издательство.Требуется реализовать возможность добавления, удаления, поиска, замены данных. Используйте словарь дляхранения информации.
1) Як створити презентацiю, використовуючи шаблони? 2) Якi режими роботи передбаченi 6 Power Point? 3) Якими способами можна вставити у презентацію т … аблиці, діаграми, малюнки, організаційні діаграми? 4) Як надами елементові презентації керуючої дi? 5) Як задати ефекти анімацiї об’єктам презентації? З яких об’єктів складається комп’ютерна публiкацiя? 7) Що таке шаблон, 8) Що таке макем?
C++ Дано массив из 20 элементов. Найти пять соседних элементов, сумма значений которых максимальная
берете по 5 элементов с начала и считаете сумму. потом сдвиг на единицу и по новой и так пока не найдете максимум.
22 ноя 2019 в 20:26
Вся идея, ради которой формулируют такие обучающие задачи: научить студента идее инкрементального вычисления текущей суммы. Для перехода от предыдущей суммы к следующей нужно вычесть уходящий элемент и добавить приходящий. Я смотрю, никто из решателей пока не потрудился реализовать такой проход по массиву.
22 ноя 2019 в 21:27
@AnT просим Вас опубликовать Ваше решение. Критикуешь — предлагай ))
23 ноя 2019 в 7:09
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
Вообще в голову не лезет как это написать.
Вы можете найти сумму пяти элементов массива, которые идут подряд, начиная с самого первого элемента массива? А начиная с самого второго? А с третьего? И так далее. Запоминайте в переменные индекс начала пятерки с самой большой суммой и саму сумму. Не забудьте остановиться за пять элементов до конца массива, чтобы не залезть за его границу.
Отслеживать
ответ дан 22 ноя 2019 в 20:27
user176262 user176262
И сказал Окаам: не преумножайте сущности сверх необходимости. И добавил: пишите код попроще, но никто не понимал, что значит «код» и вторую часть забыли.
std::vector vec; int idx = 4; int sum = 0; for(int i = 0; i < 5; ++i) sum += vec[i]; int max = sum; for(int i = 5; i < vec.size(); ++i) < sum += vec[i] - vec[i-5]; if (max < sum) < max = sum; idx = i; >> cout)" data-controller="se-share-sheet" data-se-share-sheet-title="Поделиться ссылкой на ответ" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start">Поделиться)" title="">Улучшить ответответ дан 23 ноя 2019 в 5:52MikhajloMikhajlo12.4k2 золотых знака18 серебряных знаков43 бронзовых знака