基本的に、「x」個の数値の配列があり、配列の数値で符号が何回変化したかを出力する必要があります。
たとえば、配列は次のとおりです。2 -4 5 6 7 -2 5 -7
出力は 5 になるはずです。なぜですか? 1 回目は -4、2 回目は 5、3 回目は -2、4 回目は 5、前回は -7 で符号が変わるためです。合計5回。
だから、私はこれまでのところこれを持っていますが、それは完全には機能しません:
#include <iostream>
using namespace std;
int main()
{
int a[50],n,cs=0,ha=0;
cin >> n;
for (int i=0;i<n;i++)
{
cin >> a[i];
}
for (int j=1;j<=n;j++)
{
if(a[j]<0 && a[j-1]>0)
cs++;
else if(a[j]>0 && a[j-1]<0)
cs++;
}
cout << cs << endl;
return 0;
}
助けてください!