#include <iostream>
int *newSum (int* QX,int QXsize,int* PX, int PXsize) {
int minsize=std::min(QXsize,PXsize);
int *sum = new int [minsize];
while (minsize) {
sum[--minsize]=QX[--QXsize]+PX[--PXsize];
}
return sum;
}
void sumSecondToFirst (int* QX,int QXsize,int* PX, int PXsize) {
while (QXsize&&PXsize) {
QX[--QXsize]+=PX[--PXsize];
}
return;
}
using namespace std;
int main() {
int QXsize=5;
int PXsize=9;
int* QX =new int[QXsize] {1,2,3,4,5};
int* PX = new int[PXsize] {1,2,3,4,5,6,7,8,9};
int* QXplusPX;
QXplusPX =newSum (QX,QXsize,PX,PXsize);
for (int i=0; i<std::min(QXsize,PXsize); i++) cout<<QXplusPX[i]<<',';
cout<<endl;
sumSecondToFirst (QX,QXsize,PX,PXsize);
for (int i=0; i<QXsize; i++) cout<<QX[i]<<',';
cout<<endl;
sumSecondToFirst (PX,PXsize,QX,QXsize);
for (int i=0; i<PXsize; i++) cout<<PX[i]<<',';
cout<<endl;
delete[]QX;
delete[]PX;
delete[]QXplusPX;
}