A situação é a seguinte estou tentando pegar um vetor e substituir os valores negativos por 0 e deixar nas ultimas posições.
porem não consigo colocar os números 0 ao final do vetor;;;
sempre que tenho uma solução ele estoura meu array.
Creio que isso resolva. Tah meio complicado, mas acho que da pra voce entender.
publicclassEx3{publicstaticvoidmain(String[]args){intvetor[]={-1,-2,3,4,-5,6,7,8,9,-10};intvetorMod[]=newint[10];intvetorOrd[]=newint[10];inti,j=0,numZeros=0;for(i=0;i<vetor.length;i++){if(vetor[i]<0){vetorMod[i]=0;}else{vetorMod[i]=vetor[i];}}System.out.print("Vetor Mod: ");for(i=0;i<vetorMod.length;i++){System.out.print(vetorMod[i]+" ");}System.out.println();for(i=0;i<vetorMod.length;i++){if(vetorMod[i]==0)numZeros++;}System.out.println("Numero de zeros: "+numZeros);for(i=0;i<vetorMod.length;i++){if(vetorMod[i]!=0){vetorOrd[j]=vetorMod[i];j++;}}for(i=j;i<vetorMod.length;i++){vetorOrd[i]=0;}System.out.print("Vetor Ordenado: ");for(i=0;i<vetorOrd.length;i++){System.out.print(vetorOrd[i]+" ");}}}
jonatha_java
Cara esta também é uma solução só que com menos código.
por default o array tem seus elementos com valores padrões ,
então basta somente adicionar os valores positivos no vectoMod que os elementos não atribuído terão seus valores default
no caso de int será o valor zero vejo o código abaixo.
Existem vários tipos de algoritmos no google para ordenação, é bom dar uma olhada
pois quando a gente precisa fazer isso, já está lá prontinho para ser usado.
Ao contrário perde-se muito tempo reinventando a roda.