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

Задача: 

Пользователь вводит n элементов массива. Требуется определить количество элементов, значение которых больше, чем у соседних элементов массива.

Описание переменных: 

m - количество реальных элементов массива;
qty - количество элементов массива, значение которых больше, чем у соседей.

Алгоритм решения задачи: 
  1. Считываем числа с помощью процедуры read() и помещаем их в массив.
  2. Переменной qty присваиваем значение 0.
  3. Переменной i, которая обозначает индекс массива, присваиваем значение 2, т.к проверять первый элемент массива не имеет смысла (у него нет левого соседа).
  4. В условии цикла выражение i
  5. Если очередной элемент массива (arr[i]) больше предшествующего (arr[i-1]) и очередной элемент массива (arr[i]) больше последующего (arr[i+1]), то ...
  6. ... увеличить значение qty на единицу и ...
  7. ... увеличить значение i на 2, т.к проверять следующий элемент нет смысла, т.к. уже известно, что он меньше левого соседа.
  8. Иначе (если условие не выполнилось) перейти к следующему элементу массива (i := i + 1).
  9. Вывести значение qty на экран.

Это не оптимальный алгоритм, но короткий.

Программа на языке Паскаль: 

const
    n = 100;
var
    arr: array[1..n] of integer;
    i, m, qty: byte;
begin
    write('Количество элементов массива: ');
    readln(m);
    write('Элементы массива через пробел: ');
    for i:=1 to m do
        read(arr[i]);
    readln;
 
    qty := 0;
    i := 2;
    while i do
        if (arr[i] > arr[i-1]) and (arr[i] > arr[i+1]) then begin
                qty := qty + 1;
                i := i + 2
        end
        else
            i := i + 1;
 
    writeln('Кол-во элементов, которые больше соседей: ', qty);
 
readln;
end.

Примечания: 

Пример выполнения программы:

Количество элементов массива: 6
Элементы массива через пробел: 3 4 2 3 7 6
Количество элементов, которые больше соседей: 2

Получается 2, т.к. только четверка и семерка больше обоих своих соседей.

Комментарии

Одномерный массив 15 элементов заполнить случайными значениями

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

Решение похожей задачи.

Решение похожей задачи. Только поменять логическое выражение

(arr[i] > arr[i-1]) and (arr[i] > arr[i+1])

на

arr[i] > arr[i-1]+arr[i+1]

определить индексы элементов

определить индексы элементов массива значение которых не менее А и не более В type [1...100]

https://pas1.ru/array-id

помогите решить задачу

Масивы данных имеют значения роста для мальчиков и девочек. Определить кто (мальчик или девочка) самый высокий и самый низкий.

Пожалyйста помогите решить задачy

Вводится число N, а за ним N целых чисел – элементов массива.
Найдите количество отрицательных элементов в этом массиве

var mass:array[1..99] of

var mass:array[1..99] of integer;
    n,m,i:integer;
begin
  writeln('введите n');
  readln(n);
  for i:=1 to n do
    begin
      writeln('введите элемент массива номер ',i);
      readln(mass[i]);
      if mass[i]then
        m:=m+1;
    end;
  writeln('количество отрицательных элементов:',m);
end.

алгоритмы

вычислить площадь заштрихованной фигуры при R1=25см ;R2=15см ;R3=5см. Площадь круга S=ПR в квадрате.

program zd1;Uses Crt;Var


                            
  1. program zd1;
  2. Uses
  3. Crt;
  4. Var
  5. N, i: integer;
  6. Mas: array[1..1000] of integer;
  7. loop: integer; {Счетчик}
  8. Begin
  9. loop := 0;
  10. write('Введите размер массива ');
  11. read(N);
  12. for i:=1 to N do
  13. begin
  14. readln(Mas[i]);
  15. if (Mas[i] ) then
  16. loop := loop + 1;
  17. end;
  18. write('Число отрицательных элементов массива равно ', loop);
  19. End.

                          

Что-то вроде этого

помогите пожалуйста решить задачу!!

задача: запросить текст и вывести на экран 2,3, 4 символы текста

Готов помочь!

Должно быть так:

program kz2;
uses crt;
var
    txt: string; x: array[0..255] of char;
begin
    clrscr;
    Writeln('Введите текст:');
    readln (txt);
    x:=txt;
    Writeln('2-й символ текста: "', x[1], '", 3-й - "', x[2], '", 4-й - "', x[3],'".');
readln
end.

Помогите пожалуйста закончить задачу.

Ввести натуральное число и определить верно ли, что его сумма цифр равна 10.

progran qq;
var n0 do
beging
           z:=n mod 16
           s:=s+z
           n:=mod 10
   end;
    if s=10 the n
    writeln('8a')

(ввести целое число и найти сумму его цифр и произведение)

Может так ?? program

Может так ??

 program z1;
var 
x,y,S:integer;
 begin
 writeLn('Введите числа');
  readLn(x,y);
   S:=x+y;
   if S=10 then WriteLn('Да, верно')
   else writeLn ('нет,не верно');
end.

Program Summa_of)digit;Type

Program Summa_of)digit;
Type  Data=LongInt; {Можно заменить на любой Ваш тип }
Function Summ( X: Data) : Data;
Var
  S : Data;
begin
  If c- then x:=-x;
  S:=0;
  While X>0 do
   begin
      S:=S + (X mod 10);
      x:=x div 10;
  end;
  Summ:=S;
end; 
 
var  X : data;
Begin { Main hrogram }
   Write('Введите число =');
    ReadLn(X);
   If Summ(X)-10
     then Write(' Ghfdbkmyj !!!')
     else Write(' Ошибочно !!');
end.

вроде в циклах с предусловием

var n, s:integer;
begin
  write('input number');   {ввод, чтение числа}
  read(n);
  S:=0;
  while n  0 do
     begin
        S:=S+n mod 10;
        n:=n div 10;
     end;
    if  s = 10 then writeln('true') else writeln('false');
end.

/

Спасибо

Уважаемые программисты помогите пожалуйста!!! Очень нужно!

В квадратном массиве выделить 4 четверти ограниченные главной и побочной диагоналями (без учёта элементов, расположенных на диагоналях): вернюю, нижнюю, левую, правую.
1) Найти сумму элементов:
а) верхней четверти.
б) правой четверти.
в) нижней четверти.
г) левой четверти.

задан одноименный массив из N

задан одноименный массив из N чисел. найти разницу между наибольшим и наименьшим элементами массива. помогите пожалуйста!!

Готов помочь!

Здесь мой вариант. Он довольно сложный, потому что я туда много чего ненужного понапихал, но с таким, думаю, приятно работать.

решение

const
   m = 100;
var
   a:array[1..m] of integer;
   i,n,max,min,raz:integer;
begin
   writeln('введите количество элементов массива');
   readln(n);
   writeln('введите элементы массива');
   for i:=1 to n do
      readln(a[i]);
   min:=a[i];
   for i:=1 to n do
      If min>a[i] then min:=a[i];
   max:=a[i];
   for i:=1 to n do
      If max[i] then max:=a[i];
   raz:=max-min;
   writeln('разность=',raz);
end.

Помогите пожалуйста с

Дан массив P, содержащий N натуральных чисел. Найти наименьшее натуральное число, непредставимое в виде суммы элементов массива Р. Каждый элемент может входить в сумму не более одного раза.

Помогите,плиз (((

мне надо ввести программу. графика,надо нарисовать смайлики и кораблик. Помогите пожалуйста,буду очень благодарна.