При тестировании задачи в одном случае выдает ошибку.
Задача: Дана числовая прямая. В переменной n количество точек на этой числовой прямой и сами точки. Каждая цифра, которая больше своих соседей на числовой прямой нам подходит. Вывести наименьшее положительное число из всех подходящих.
Ввод:
5
4 5 2 3 1
Вывод:
3
#include <iostream>
using namespace std;
int main()
{
int n, f[101], maz=1000000;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>f[i];
}
for(int j=0;j<n;j++)
{
if(f[j]!=0 && j<n)
{
if(f[j]>f[j-1] && f[j]>f[j+1])
{
if(f[j]<maz && f[j]>=0)
{
maz=f[j];
}
}
}
}
if(maz!=1000000){cout<<maz<<endl;}else{cout<<"NO"<<endl;}
return 0;
}
Так устроит?
int main()
{
unsigned int n;
cin >> n;
vector<int> v,p;
copy_n(istream_iterator<int>(cin),n,
back_inserter(v));
for(unsigned int i = 1; i < v.size()-1; ++i)
if (v[i] > v[i-1] && v[i] > v[i+1])
p.push_back(v[i]);
cout << *min_element(p.begin(),p.end()) << endl;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Программа компилируется но текст не переводитПричём не работает что с подключенными библиотеками ctype что без них