我正在尝试创建一个函数,显示连续几天,两个连续数组输入偏差超过2

时间:2018-03-27 13:32:06

标签: c++

我试图在连续两天的时间内确定股票价格差异超过2.00美元的天数。显示结果。

我看不到问题,它运行时没有复杂错误,我只收到0。

这是该函数的代码部分。

using namespace std;

int main()
{
    int arr[] = {1, 8, 30, 40, 100};
    int size = sizeof(arr)/sizeof(arr[0]);
    int j = 0;
    int k = 1;
    int chg = 0;

    while (j < size && k < size)
    {
        if (j != k && arr[j] - arr[k] == 2)
        {
            chg++;
        }
        else if (j != k && arr[j] - arr[k] == -2)
        {
            chg++;
        }

        j++;
        k++;
    }
    cout << "\nThe number of days that the stock changed more than $2.00 is: " << chg << endl;
}

1 个答案:

答案 0 :(得分:0)

arr[j] - arr[k] == -2arr[j] - arr[k] == 2可以替换为abs(arr[j] - arr[k]) == 2,而j != k则不需要>=,因为k始终是j的+1,您是否在示例中看到一个案例他们有两个不同?不,您需要abs(arr[j] - arr[k]) >= 2才能成为@Bean public FlatFileItemReader<HotelCSVDto> NYhotelReader() { FlatFileItemReader<HotelCSVDto> reader = new FlatFileItemReader<>(); reader.setResource(new ClassPathResource(BASE_PATH + "Hotels-NY.csv")); reader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy()); reader.setLinesToSkip(1); setHotelReader(reader); return reader; }