Вообще-то интересная задача. Так ищут максимум корреляционной зависимости в линии задержки в цифровой приёмной аппаратуре связи
Можно использовать такой вариант.
Найти сумму первых 5-ти элементов, а потом в цикле вычитать первый (в сумме) и добавлять новый, и затем проверять на максимум
Другие языки программирования и технологии
16. Дан массив из 20 элементов. Найти пять «соседних» элементов, сумма значений которых максимальна. ??
пишешь цикл от 1 до 5
запоминаешь 5 членов
считаешь сумму
потом другой цикл
от 1 до 5
запоминаешь 5 членов
считаешь сумму
сравниваешь и циклишь до 20 элементов
запоминаешь 5 членов
считаешь сумму
потом другой цикл
от 1 до 5
запоминаешь 5 членов
считаешь сумму
сравниваешь и циклишь до 20 элементов
МаксСумма = A[Н] + A[H+1] + A[H+2] + A[H+3] + A[H+4]
ПервыйСуммы = 1
Для Н = 2 по 20-4 цикл
__Сумма = A[Н] + A[H+1] + A[H+2] + A[H+3] + A[H+4]
__Если Сумма > МаксСумма Тогда
____МаксСумма = Сумма
____ПервыйСуммы = H
__КонецЕсли
КонецЦикла
Сообщить "Максимальная сумма ", МаксСумма, " у элементов с ", ПервыйСуммы, " по ", ПервыйСуммы+4
ПервыйСуммы = 1
Для Н = 2 по 20-4 цикл
__Сумма = A[Н] + A[H+1] + A[H+2] + A[H+3] + A[H+4]
__Если Сумма > МаксСумма Тогда
____МаксСумма = Сумма
____ПервыйСуммы = H
__КонецЕсли
КонецЦикла
Сообщить "Максимальная сумма ", МаксСумма, " у элементов с ", ПервыйСуммы, " по ", ПервыйСуммы+4
int max,maxi;
int a[ 20 ]={ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
for (int i = 0; i < 20-4; i++)
{int sum = 0;
for (int j = i; j < i+5; j++)
sum += a [ j ];
if (i = = 0) {max = sum;maxi =0;}
else if (sum > max)
{ max =sum;
maxi =i;
}
}
cout < < " max = " < < max < < " i=" < < maxi < < " a [ i ] = " < < a [ maxi ] < < e ndl;
for (int i =maxi ; i < maxi+5; i++) cout < < a [ i ] < < ",";
cout < < endl;
Пробелы подчистишь.
int a[ 20 ]={ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
for (int i = 0; i < 20-4; i++)
{int sum = 0;
for (int j = i; j < i+5; j++)
sum += a [ j ];
if (i = = 0) {max = sum;maxi =0;}
else if (sum > max)
{ max =sum;
maxi =i;
}
}
cout < < " max = " < < max < < " i=" < < maxi < < " a [ i ] = " < < a [ maxi ] < < e ndl;
for (int i =maxi ; i < maxi+5; i++) cout < < a [ i ] < < ",";
cout < < endl;
Пробелы подчистишь.
Питон """Дан список из 20 случайных элементов. Найти пять соседних элементов, сумма значений которых максимальна. """
import random
a = random.sample(range(20), 20)
print (a)
b = [a[i:i+5] for i in range(len(a)-4)]
c = list(map(sum,b))
print(b[c.index(max(c))])
import random
a = random.sample(range(20), 20)
print (a)
b = [a[i:i+5] for i in range(len(a)-4)]
c = list(map(sum,b))
print(b[c.index(max(c))])
Похожие вопросы
- Дан массив из 20 элементов. Найти три «соседних» элементов, сумма значений которых максимальна. как это на СИ сделать?
- Дан массив из 20 элементов. Найти номер минимального элемента. (Pascal ABC)
- задача в pascale. дан массив. Найти минимальный элемент и отсортировать все элементы стоящие после него.
- Паскаль.Элементарно,но чё то никак( дан массив.все его элементы разделить на первый элемент.и вывести на экран
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!!
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!! На паскале
- дан массив целых чисел F1,F2...Fn. распечатать элементы, нах-ся между min и max и их номера. подскажите где я ошибся
- Дан массив N<100 целых чисел. Упорядочить элементы по убыванию и вывести те элементы, которые остались на своих места
- Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максима
- В упорядоченный по возрастанию числовой массив из 20 элементов вставить числа –4 и 7, не нарушая упорядоченности. pascal