Răspuns:
void Insert(int a[], int &n)
{
int i,k=0;
for (i=0; i<n; ++i)
if (a[i]%2) ++k;
int j=n+k-1;
for (i=n-1; i>=0; --i)
{
if (a[i]%2) a[j--]=2*a[i];
a[j--]=a[i];
}
n=n+k;
}
Explicație:
Posibil ai depăşire...
am numărat imparele şi încep completarea tabloului cu dimensiune extinsă, începând completarea de la capătul din dreapta.