В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

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

2)Опишите алгоритм подсчета максимального количества подряд идущих четных элементов в целочисленном массиве длины 30
Нужно оформить аналогично на питоне, я пока плохо разбираюсь в оформлении и могу выполнить решение только на паскале
Решение
1)const
N = 100500;
var
a: array[1..N] of integer;
i,index: integer;
begin
for i :=1 to N do
read(a);
index := -1;
for i := 2 to (N─1) do
if ((a > a[i─1]) and (a > 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);
for i:=1 to N do
if (a 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.

Показать ответ
Ответ:
Kravtskris
Kravtskris
03.08.2021 04:34

var

 a: array of real;

 b: array of real;

 a_sum, b_sum, i, n: integer;

 a_values, b_values: real;

begin

 randomize;

 writeln('Введите количество туров: ');

 readln(n);

 a := new real[n];

 b := new real[n];

 a_sum := 0;

 b_sum := 0;

 writeln('Введите результаты первого спортсмена: ');

 for i := 0 to n - 1 do  

 begin

   readln(a_values);

   a[i] := a_values;

 end;

 writeln('Введите результаты второго спортсмена: ');

 for i := 0 to n - 1 do  

 begin

   readln(b_values);

   b[i] := b_values;

 end;

 writeln('Результаты первого спортсмена: ');

 for i := 0 to n - 1 do  

   write(a[i], ' ');

 writeln(#10);

 writeln('Результаты второго спортсмена: ');

 for i := 0 to n - 1 do  

   write(b[i], ' ');

 writeln(#10);

 for i := 0 to n - 1 do

   if (a[i] > b[i]) then inc(a_sum) else  

   if a[i] = b[i] then begin inc(a_sum);inc(b_sum); end else  

   if (a[i] < b[i]) then inc(b_sum);

 writeln('Первый спортсмен победил в ', a_sum, ' турах.', #10, 'Второй спортсмен победил в ', b_sum, ' турах.');

 if (a_sum = b_sum) then writeln('В общем зачёте ничья!') else  

 if (a_sum > b_sum) then writeln('В общем зачёте побеждает первый спортсмен!') else  

 if (a_sum < b_sum) then writeln('В общем зачёте побеждает второй спортсмен!');

end.

0,0(0 оценок)
Ответ:
efj63233
efj63233
16.10.2020 10:27

n, m, t = map(int, input().split())

x = list(map(int, input().split()))

def build(name):

   if name in built:

       pass

   elif B[A.index(name)] == ["0"]:

       built.append(name)

   else:

       for i in B[A.index(name)][1:]:

           if i not in built:

               build(i)

       built.append(name)

A = []

B = []

built = []

for i in range(0, n):

   A.append(input())

   B.append(input().split())

for i in range(0, B.count([])):

   built.append(A[B.index([])])

   A.pop(B.index([]))

   B.pop(B.index([]))

[build(str(o)) for o in x]

print(len(built))

Объяснение:

htt ps://pastebin. com/cNBHaZJM

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота