//presupunem ca v contine cel putin un element impar
int ii=1, i, j, n;
........................
while (v[ii]%2 != 1)
ii++;
int gata;
do
{
gata=1;
for(i=1;i<ii;i++)
if(v[i]>v[i+1])
{
swap(v[i], v[i+1]);
gata=0;
}
}
while(gata==0);
for(i=ii+1;i<n;i++)
{
int max=v[i], k;
for(j=i+1;j<=n;j++)
if(v[j]>max)
{k=j;max=v[j];}
if(v[i]!=max)
{
int aux=v[i]; v[i]=max;v[k]=aux;
}
}