Problema 01
Intercambie el primer número múltiplo de 3 por el último número múltiplo de 7.
Inicio
2 9 4 6 7 14 10 9
0 1 2 3 4 5 6 7
Fin
2 14 4 6 7 9 10 9
0 1 2 3 4 5 6 7
public void metodo(){
//1 el primer número múltiplo de 3
int posMulTres = -1, numMulTres = 0;
for(int i = 0; i<indice; i++){
if(x[i]%3==0){
numMulTres = x[i];
posMulTres = i;
break;
}
}
//2 el último número múltiplo de 7.
int posMulSie =-1, numMulSie = 0 ;
for(int i = indice-1; i>=0;i--){
if(x[i]%7==0){
posMulSie = i;
numMulSie = x[i];
break;
}
}
//3 intercambio
if(posMulTres == -1)
imprime("No existe número múltiplo de 3");
if(posMulSie == -1)
imprime("No existe número múltiplo de 7");
if(posMulTres != -1 && posMulSie!= -1){
x[posMulTres] = numMulSie;
x[posMulSie] = numMulTres;
}
}
Problema 02
Inicio
2 12 4 17 7 14 10
0 1 2 3 4 5 6
Fin
2 17 4 12 7 14 10
0 1 2 3 4 5 6
public void metodo(){
//1 termino central
int posCen = 0, numCen =0;
if(posCen %2 !=0){
posCen = indice/2;
numCen = x[posCen];
}
else
posCen = -1;
//2 el segundo mayor par
int posPar , numPar = 0, segPar =0;
for(int i = 0; i<indice; i++){
if(x[i]%2==0 && x[i]>numPar){
numPar = x[i];
}
}
for(int i = 0; i<indice; i++){
if(x[i]%2==0 && x[i]!=numPar && x[i]>segPar){
segPar = x[i];
}
}
//3 intercambio
x[posCen] = segPar;
x[posPar] = numCen;
}
No hay comentarios:
Publicar un comentario