减法错误

Error subtracting values

本文关键字:错误      更新时间:2023-10-16

我的减法有问题,输出应该是

1 5 13 16 17 what>1 5 13 16 17

4 8 31 1 I>4 8 31 1

4 5 2 want> 5 2 1

2           right side >             1

但是你可以看到它不同的输出,你能告诉我我错了和遗漏了什么吗我只是需要一些提示或提示。提前感谢:)

下面是我的代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
int input[10];
int dif[10];
int fin;
int dami;
int space;
int i;
int j;
int b = 0;

int main()
{
cout << "Enter up to 10 numbers,max 10:n";
cin >> dami;
if (dami > 10)
{
    cout << "Input exceeds limit try againn";
    system("pause");
    system("CLS");
    main();
}
else
{
    cout << "Input Test Case:n";
    for (i = 0; i <dami; i++)
    {
        cin >> input[i];
        if (input[i] > 100000)
        {
            cout << "nInput exceeds limit";
            system("pause");
            system("CLS");
            main();
        }
    }
    cout << "n";
    for (int z = 0; z < dami; z++)
    {
        cout << input[z] << "  ";   
    }
/*  for (space = 0; space < dami - i; ++space)
    {
        cout << " ";
    }*/
    cout << "n";
    for (i = 0; i < dami; i++)
    {
        for (j = i; j < dami -1;j++)
        {
            //subtraction part
            dif[j] = input[j+1] - input[j];
                fin = dif[j+1] - dif[j];
                if (fin < 0)
                {
                    fin = fin * -1;
                }
                cout << " " << fin;
        }
        cout << "n";
    }
}
cout << "n";
system("pause");
}

首先,读取用户输入,如果正确,将其放入数组中。

然后将输入数组及其包含的元素数量传递给递归函数,例如:

void diff1(int items[], int count)
{
    if (count > 0)
    {
        for (int n=0; n<count; n++)
        {
            cout << items[n] << " ";
            items[n]=abs(items[n]-items[n+1]);
        }
        cout << "n";
        diff1(items, --count);
    }
}

&以下是该函数的最小实现:

(注意:我相信你可以找出你可能需要的任何花哨的缩进:p)