#include <stdio.h>
void addZerosAt(int * a, int N, int p1, int p2)
{
if (p1 > p2)
{
int p = p1;
p1 = p2;
p2 = p;
}
for(int i = N+1; i >= p1; --i)
{
if (i > p2) a[i] = a[i-2];
else a[i] = a[i-1];
}
a[p1] = a[p2] = 0;
}
int main(int argc, const char * argv[])
{
int a[20] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
for(int i
= 0; i
< 15; ++i
) printf("%2d ",a
[i
]); puts(""); addZerosAt(a,15,5,12);
for(int i
= 0; i
< 17; ++i
) printf("%2d ",a
[i
]); puts(""); }
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFkZFplcm9zQXQoaW50ICogYSwgaW50IE4sIGludCBwMSwgaW50IHAyKQp7CiAgICBpZiAocDEgPiBwMikKICAgIHsKICAgICAgICBpbnQgcCA9IHAxOwogICAgICAgIHAxID0gcDI7CiAgICAgICAgcDIgPSBwOwogICAgfQogICAgZm9yKGludCBpID0gTisxOyBpID49IHAxOyAtLWkpCiAgICB7CiAgICAgICAgaWYgKGkgPiBwMikgYVtpXSA9IGFbaS0yXTsKICAgICAgICBlbHNlIGFbaV0gPSBhW2ktMV07CiAgICB9CiAgICBhW3AxXSA9IGFbcDJdID0gMDsKfQoKCmludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICogYXJndltdKQp7CiAgICBpbnQgYVsyMF0gPSB7IDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1fTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCAxNTsgKytpKSBwcmludGYoIiUyZCAiLGFbaV0pOyBwdXRzKCIiKTsKICAgIGFkZFplcm9zQXQoYSwxNSw1LDEyKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCAxNzsgKytpKSBwcmludGYoIiUyZCAiLGFbaV0pOyBwdXRzKCIiKTsKfQo=