Предмет: Информатика,
автор: IlyaKustov16
Решение нужно на Бейсике !!!!!!
Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит сумму локальных максимумов этого массива, значение которых не кратно 5.
Локальным максимумом называется элемент массива, который больше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных максимума: это элементы, равные 12 и 8. Программа должна вывести сумму подходящих элементов, значения элементов выводить не нужно. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
Бейсик
N=2014
DIM A(N) AS INTEGER
DIM I, J, K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
Паскаль
const
N=2014;
var
a: array [1..N] of integer;
i, j, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
В качестве ответа вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
Ответы
Автор ответа:
0
N=2014
DIM A(N) AS INTEGER
DIM I, J, K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
k = 0
if A(1) > A(2) and (A(1) mod 5 <> 0) then k = k + A(1)
if A(N) > A(N-1) and (A(N) mod 5 <> 0) then k = k + A(N)
for i = 2 to N-1
if (A(i) > A(i+1)) and (A(i) > A(i-1)) and (A(i) mod 5 <> 0) then k = k + A(1)
next i
print k
Именно бейсика у меня нет, так что писалось на VBS а потом добавлялись символы как думаю было бы правильно
DIM A(N) AS INTEGER
DIM I, J, K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
k = 0
if A(1) > A(2) and (A(1) mod 5 <> 0) then k = k + A(1)
if A(N) > A(N-1) and (A(N) mod 5 <> 0) then k = k + A(N)
for i = 2 to N-1
if (A(i) > A(i+1)) and (A(i) > A(i-1)) and (A(i) mod 5 <> 0) then k = k + A(1)
next i
print k
Именно бейсика у меня нет, так что писалось на VBS а потом добавлялись символы как думаю было бы правильно
Похожие вопросы
Предмет: Французский язык,
автор: zorokadji5566
Предмет: Математика,
автор: t75stxdsq2
Предмет: Алгебра,
автор: razancevd486
Предмет: Физика,
автор: davletovaelizaveta3