cách 1:
for(int i=0;i<n;i++){
if(a[i]%2==0){
n--;//lúc này da tìm thấy 1 số chẳn nên n sẽ giảm xuống 1
for(int j=i;j<n;j++){
a[j]=a[j+1];
}
i--;//nếu ko giảm i thì trường hợp có các số chẳn liên típ sẽ ko giải wiet duoc
}
}
for(int i=0;i<n;i++){
System.out.println(" pt["+(i+1)+"] la: "+a[i]);
}
cách 2: tìm số chẳn rồi swap với 1 số lẻ gần nó nhất...cuối cùng ta sẽ được 1 mảng gốm các số lẻ ở đầu và các số chẳn phía sau...chỉ việc in các số lẻ ra!
{
int j,temp;
int flag,m;
m=-1;
for(int i=0;i<n;i++)
{
if(a[i]%2==0){
flag =0;
j=i+1;
while(j<n&&flag==0){
if(a[j]%2!=0){
temp=a[i];
a[i]=a[j];
a[j]=temp;
m=i;
flag=1;
}
else
j++;
}
}
}
for(int i=0;i<=m;i++){
System.out.println(" pt["+(i+1)+"] la: "+a[i]);
}
break;
}
cách 2 này có trường hợp bị sai!!! [i]