| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
camus1987
Registrado: 31 Ago 2010 Mensajes: 14 Ubicación: lima - peru
| Publicado: 23/09/2010 5:40 am | | | Título: AYUDA DE ARRAY |
| SALU2: tengo un inconveniente trato de realizar un contador que indique cuantas veces se repide un elemento que esta contenido en un array: pero mi problema es al momento de arrojarme los resultado:::: este es mi codigo:: public class EjemploVector {
public static void main(String args[]) { int arreglo[] = {1, 2, 3, 3, 2,2,2,4,4}; int fil = 2; int col = arreglo.length; int arreglo1[][] = new int[fil][col]; int par = 0; int impar = 0; int valor = 0; int veces = 0; int k = 0; int j=0; int repetido = 0;
System.out.println(); for (int i=0; i<arreglo.length; i++) {
if (arreglo[i]%2==0) { System.out.println(arreglo[i] + " Es par"); par++; } else { System.out.println(arreglo[i] + " Es impar"); impar++; } }
for (int i=0; i<arreglo.length; i++) {
veces = 0; valor = arreglo[i];// repetido = 0;
for (j=0; j<col; j++) { if (arreglo1[0][j] == valor) repetido++; }
if (repetido == 0) { for (j=0; j<arreglo.length; j++) { if (valor == arreglo[j]) { veces++; } }
if (veces > 1) { arreglo1[0][k] = valor; arreglo1[1][k] = veces; k++; } } } System.out.println(); System.out.println("Total Pares: " + par); System.out.println("Total Impares: " + impar); System.out.println();
for (int i=0; i<k; i++) { System.out.println("El número " + arreglo1[0] + " Está " + arreglo1[1] + " veces"); }
} }
------------------------------------------------------------------------ resultado:::
1 Es impar 2 Es par 3 Es impar 3 Es impar 2 Es par 2 Es par 2 Es par 4 Es par 4 Es par
Total Pares: 6 Total Impares: 3
//::::aqui esta mi problema::::: El número [I@19821f Está [I@addbf1 veces El número [I@19821f Está [I@addbf1 veces El número [I@19821f Está [I@addbf1 veces
me deberia arrojar esto:
El número 2 Está 4 veces El número 3 Está 2 veces El número 4 Está 2 veces
si alguien tiene alguna idea o algun otro metodo..gracias _________________ Camus Inicia |
| | Volver arriba | |  | polly
Registrado: 19 Jul 2007 Mensajes: 618
| Publicado: 23/09/2010 6:52 am | | | Título: |
| Algo rapidillo podria ser:
| Código: | public class EjemploVector { public static void main(String args[]) { int array[] = {1, 2, 3, 3, 2, 2, 2, 4, 4}; int length = array.length; int counter[] = new int[length]; boolean repetido[] = new boolean[length]; int lista[] = new int[length]; int par, impar;
par = impar = 0;
for (int i = 0; i < length; i++) { if (array[i] % 2 == 0) { System.out.println(array[i] + " es par"); par++; } else { System.out.println(array[i] + " Es impar"); impar++; } } for (int i = 0; i < length; i++) { for (int j = 0; j < length; j++) { if (array[j] == array[i]) { add(array[i], lista, j); counter[i]++; } } } int tmp[] = new int[length]; for (int i = 0; i < length; i++) { if (lista[i] != 0) System.out.println("EL numero " + lista[i] + " esta repetido " + (counter[i]-1) + " veces"); } }
/** Añade un elemento sin repetir */ public static void add(int e, int lista[], int j) { boolean encontrado = false;
for (int i = 0; i < lista.length; i++) if (lista[i] == e) encontrado = true;
if (!encontrado) lista[j] = e; } }
|
La parte de los impares/pares esta igual. Luego en la parte de buscar repetidos: 2 bucles anidados, el exterior para cada elemento y el interior para comparar todos los demas elementos con el elemento actual del bucle exterior. Si hay repetidos, se incrementa el contador y se añaden a una lista de repetidos ('lista' en el codigo). El metodo 'add' añade elementos pero primero verifica si no estan ya en la lista. Luego mostramos los elementos.
S2 _________________ enrmarc |
| | Volver arriba | |  | camus1987
Registrado: 31 Ago 2010 Mensajes: 14 Ubicación: lima - peru
| Publicado: 23/09/2010 7:23 am | | | Título: gracias |
| | polly escribió: | Algo rapidillo podria ser:
| Código: | public class EjemploVector { public static void main(String args[]) { int array[] = {1, 2, 3, 3, 2, 2, 2, 4, 4}; int length = array.length; int counter[] = new int[length]; boolean repetido[] = new boolean[length]; int lista[] = new int[length]; int par, impar;
par = impar = 0;
for (int i = 0; i < length; i++) { if (array[i] % 2 == 0) { System.out.println(array[i] + " es par"); par++; } else { System.out.println(array[i] + " Es impar"); impar++; } } for (int i = 0; i < length; i++) { for (int j = 0; j < length; j++) { if (array[j] == array[i]) { add(array[i], lista, j); counter[i]++; } } } int tmp[] = new int[length]; for (int i = 0; i < length; i++) { if (lista[i] != 0) System.out.println("EL numero " + lista[i] + " esta repetido " + (counter[i]-1) + " veces"); } }
/** Añade un elemento sin repetir */ public static void add(int e, int lista[], int j) { boolean encontrado = false;
for (int i = 0; i < lista.length; i++) if (lista[i] == e) encontrado = true;
if (!encontrado) lista[j] = e; } }
|
La parte de los impares/pares esta igual. Luego en la parte de buscar repetidos: 2 bucles anidados, el exterior para cada elemento y el interior para comparar todos los demas elementos con el elemento actual del bucle exterior. Si hay repetidos, se incrementa el contador y se añaden a una lista de repetidos ('lista' en el codigo). El metodo 'add' añade elementos pero primero verifica si no estan ya en la lista. Luego mostramos los elementos.
S2 |
gracias por el aporte::salu2 _________________ Camus Inicia |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |