PAT找不到段错误 请指教

1010 一元多项式求导(25 分)
设计函数求一元多项式的导数。
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。

输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0

 #include <iostream>
#include <vector>//没有输入个数判断,无法建立array,只能建立vector
using namespace std;


int main()
{
    int co, eff;
    vector <int> v;
    while (cin >> co >> eff)
    {
        v.push_back(co);
        v.push_back(eff);
    }
    for (int i = 0, j = i + 1; j < v.size(); i++)
    {
        if (i == 0)
        {
            if (v[i] == 0 && v[j] == 0)
            {
                cout << "0 0";
            }
            else if (v[i] * v[j] == 0)
            {
                cout << "0";
            }
            else
            {
                cout << v[i] * v[j] << " " << v[j] - 1;
            }

        }
        else
        {
            if (v[i] == 0 && v[j] == 0)
            {
                cout << " 0 0";
            }
            else if (v[i] * v[j] == 0)
            {
                cout << " 0";
            }
            else
            {
                cout << " " << v[i] * v[j] << " " << v[j] - 1;
            }
        }
    }
}
 for (int i = 0, j = 1; j < v.size(); i++, j++)
这样写,每次j都要+1,而不是只有第一次。

这里有个别人的,你也可以借鉴下
https://blog.csdn.net/a418382926/article/details/21233741