Предмет: Информатика,
автор: спирит5ллл
Дан массив, содержащий 2015 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов, значение которых кратно 3. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6,12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов,
значения элементов выводить не нужно.
alamar:
и за раз будет задаваться 2015 елементов ?
Ответы
Автор ответа:
0
a=[]
for i in 1..2015
a<<Random.rand(200)-100
end
p a
k=0
for i in 0...a.size
if (a[i]%3==0) and ((i==0 and a[0]<a[1]) or (i==a.size-1 and a[i]<a[i-1]) or (a[i]<a[i-1] and a[i]<a[i+1]))
k+=1
end
end
p k
for i in 1..2015
a<<Random.rand(200)-100
end
p a
k=0
for i in 0...a.size
if (a[i]%3==0) and ((i==0 and a[0]<a[1]) or (i==a.size-1 and a[i]<a[i-1]) or (a[i]<a[i-1] and a[i]<a[i+1]))
k+=1
end
end
p k
Автор ответа:
1
const
n=2015;
var
a:array[1..n] of integer;
i,k: integer;
begin
Randomize;
for i:=1 to n do a[i]:=Random(300)+1;
if (a[1]<a[2]) and (a[1] mod 3=0) then k:=1 else k:=0;
if (a[n]<a[n-1]) and (a[n] mod 3=0) then Inc(k);
for i:=2 to n-1 do
if (a[i-1]<a[i]) and (a[i]<a[i+1]) and (a[i] mod 3=0) then Inc(k);
Writeln('Чсло локальных минимумов равно ',k);
end.
n=2015;
var
a:array[1..n] of integer;
i,k: integer;
begin
Randomize;
for i:=1 to n do a[i]:=Random(300)+1;
if (a[1]<a[2]) and (a[1] mod 3=0) then k:=1 else k:=0;
if (a[n]<a[n-1]) and (a[n] mod 3=0) then Inc(k);
for i:=2 to n-1 do
if (a[i-1]<a[i]) and (a[i]<a[i+1]) and (a[i] mod 3=0) then Inc(k);
Writeln('Чсло локальных минимумов равно ',k);
end.
Похожие вопросы
Предмет: Қазақ тiлi,
автор: Sovok0
Предмет: Русский язык,
автор: didarkaysar
Предмет: Қазақ тiлi,
автор: BabySanchez
Предмет: Геометрия,
автор: dianarozkina130