Предмет: Информатика, автор: даня24

В чем ошибка кода?

Элемент последовательности называется локальным максимумом, если он строго больше предыдущего и последующего элемента последовательности. Первый и последний элемент последовательности не являются локальными максимумами.

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

Формат входных данных
Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Формат выходных данных
Выведите ответ на задачу.
Ввод: 1
2
3
4
5
0
вывод: 0

#include
using namespace std;
int main() {
int a, k=0, x1=0, x2, x3, m=0, b;
cin>>a;
while(k<2 && a!=0){
k=k+1;
x2=x1;
x1=a;
cin>>a;
}
b=x1;
x1=x2;
x2=b;
if(a=0){
cout<<0;
}
else {
x3=a;
if(x2>x3) {
if(x2>x1){
m=1;
}
}
cin>>a;
while(a!=0){
x1=x2;
x2=x3;
x3=a;
if(x2>x3){
if(x2>x1){
m=m+1;
}
}
cin>>a;
}
cout< }
return 0;
}

Приложения:

Ответы

Автор ответа: petyaGavrikov
7

Программа:

#include <iostream>

using namespace std;

int main() {

int x1, x2, x3, k=0;

cin>>x2>>x3;

while(x3!=0){

x1 = x2;

x2 = x3;

cin >> x3;

if(x2>x1 && x2>x3 && x3!=0) k++;

}

cout<<k;

return 0;

}

Пример:

1

8

3

7

5

8

0

2

Похожие вопросы
Предмет: Английский язык, автор: kpavlov2005
Предмет: Геометрия, автор: valeriastefanisina50