Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 22.04.2020
Сообщений: 14

Определить есть ли в массиве из 30 элементов хотя бы одна тройка соседних чисел, в которой средний элемент больше своих

22.04.2020, 20:01. Показов 3446. Ответов 9

Студворк — интернет-сервис помощи студентам
Определить есть ли в массиве из 30 элементов хотя бы одна тройка соседних чисел, в которой средний элемент больше своих "соседей", т. е. предшествующего и последующего. В случае положительного ответа определить номера элементов первой из таких троек. Результат вывести на экран.

Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих четных элементов в целочисленном массиве длины 30
Просьба решить на Python максимально подробно и просто. Я пока слабо разбираюсь в этой теме
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2020, 20:01
Ответы с готовыми решениями:

Определить есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше своих соседей
Помогите с ЕГЭ. Решение оказалось на паскале, а я так и не понял что там написано. Вот само задание: Определить есть ли в массиве из 30...

Определить, есть ли хотя бы одна тройка соседних чисел, в которой средний элемент больше своих соседей
Записаны целые числа (не менее трех). Определить, есть ли хотя бы одна тройка соседних чисел, в которой средний элемент больше своих...

Определить есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше своих "соседей"
Определить есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше своих "соседей", т. е....

9
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
22.04.2020, 20:15
что именно из этого задания не получается?
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
22.04.2020, 20:42
У меня получилось так. НО мне не нравится, как я флаг сделал... Как можно работать с int в данном случае? Ибо присвоить ему значение какое-то не получатся внутри [i, flag = 0] (если flag будет int, а не list).
Python
1
( lambda a, flag = [0]: print([ [i, flag.clear()][0] for i in range(1, len(a) - 1) if a[i] > a[i - 1] and a[i] > a[i + 1] and len(flag) == 1 ]) ) (list(map(int,iter(input,''))))
Ввод по одному числу в строке до пустой строки.

Добавлено через 5 минут
Цитата Сообщение от mari4ch Посмотреть сообщение
Просьба решить на Python максимально подробно и просто.
Ну ты код не приложил свой, поэтому разбирайся в моем. Приложишь свой код, подскажем.
P.S. мой код у тебя не примет учитель
0
0 / 0 / 0
Регистрация: 22.04.2020
Сообщений: 14
22.04.2020, 20:43  [ТС]
мне кажется такое решение не подходит для решения егэшного задания ну по крайней мере с действием flag мы ещё не работали
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
22.04.2020, 20:44
mari4ch, тебе не кажется) свой код приложи, хоть какой-нибудь
0
0 / 0 / 0
Регистрация: 22.04.2020
Сообщений: 14
22.04.2020, 21:29  [ТС]
Нужно написать на питоне, а я плохо пока разбираюсь в оформлении и могу выполнить решение только на паскале
1)const
N = 100500;
var
a: array[1..N] of integer;
i,index: integer;
begin
for i :=1 to N do
read(a[i]);
index := -1;
for i := 2 to (N─1) do
if ((a[i] > a[i─1]) and (a[i] > a[i+1]) and (index=-1)) then index := i;
if (index = -1) then
write('Нет таких чисел')
else
write(index─1,' ',index,' ',index+1);
end.
2)const N=30;
var a: array[1..N] of integer;
MaxEven, NumEven, i: integer;
begin
MaxEven:=0;
NumEven:=0;
for i:=1 to N do
read(a[i]);
for i:=1 to N do
if (a[i] mod 2 = 0) then
NumEven:=NumEven+1
else begin
if NumEven>=MaxEven then
MaxEven:=NumEven;
NumEven:=0;
end;
if NumEven>=MaxEven then
MaxEven:=NumEven;
Writeln(MaxEven);
end.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
22.04.2020, 21:49
Python
1
2
3
4
5
6
7
8
9
from random import randint
 
arr = [randint(1,100) for _ in range(30)]
print("arr:", arr)
 
for i in range(len(arr)-2):
    e1, e2, e3 = arr[i:i+3]
    if e1 < e2 > e3:
       print("idx:", i, i+1, i+2, "--> elm:", e1, e2, e3)
Добавлено через 12 секунд
Code
1
2
3
4
5
6
7
8
9
10
arr: [36, 24, 43, 74, 65, 28, 6, 98, 63, 13, 87, 36, 31, 91, 74, 91, 10, 29, 84, 75, 80, 93, 11, 68, 19, 73, 18, 4, 17, 93]
idx: 2 3 4 --> elm: 43 74 65
idx: 6 7 8 --> elm: 6 98 63
idx: 9 10 11 --> elm: 13 87 36
idx: 12 13 14 --> elm: 31 91 74
idx: 14 15 16 --> elm: 74 91 10
idx: 17 18 19 --> elm: 29 84 75
idx: 20 21 22 --> elm: 80 93 11
idx: 22 23 24 --> elm: 11 68 19
idx: 24 25 26 --> elm: 19 73 18
0
0 / 0 / 0
Регистрация: 22.04.2020
Сообщений: 14
22.04.2020, 21:54  [ТС]
учитель вряд ли поверит, что я способна написать столь сложное решение. Может быть есть возможность решить проще?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
22.04.2020, 22:02
Лучший ответ Сообщение было отмечено mari4ch как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from random import randint # импортируем модуль для работы с рандоными числами
 
arr = [] # пустой список
for i in range(30): # в цикле 30 (от 0 до 29) раз
    random_number = radnint(1, 100) # генерируем рандомное число
    arr.append(random_number) # и заносим его в массив
 
print("arr:", arr) # выводим массив
 
for i in range(len(arr)-2): # в цикле от 0 до (длина массива - 2), чтобы остановиться на третьем с конца элементе
    e1 = arr[i] # элемент (по индексу i)
    e2 = arr[i+1] # второй элемент (по индексу i+1)
    e3 = arr[i+2] # третий элемент (по индексу i+2)
    if e1 < e2 > e3: # если e2 > e1 и e2 > e3
       print("idx:", i, i+1, i+2, "--> elm:", e1, e2, e3) # выводим индексы и элементы
проще уже не выйдет, наверное.
добавил комментарии к каждой строке
1
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
22.04.2020, 22:15
mari4ch, если ты сядешь и разберешь каждую строчку кода, то поверит, ибо ты сумеешь объяснить.

P.S. Учись гуглить, если что-то непонятно
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2020, 22:15
Помогаю со студенческими работами здесь

Определить, есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше суммы своих "соседей"
Дорогие друзья, уважаемые программисты. Пожалуйста помогите решить задачу до 23:00; 2. Если в массиве есть хотя бы одна тройка соседних...

Определить, есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент меньше своих "соседей"
Определить, есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент меньше своих &quot;соседей&quot;, т. е....

Определить, есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше "соседей"
Определить, есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше своих &quot;соседей&quot;, т.е....

Есть ли в массиве тройка соседних чисел, в которой средний элемент больше своих "соседей"
Если в массиве есть хотя бы одна тройка соседних чисел, в которой сред- ний элемент больше своих &quot;соседей&quot;, т. е....

Определить есть ли в массиве хотя бы одна тройка соседних чисел
Определить есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше своих &quot;соседей&quot;, т. е....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru