/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

AYUDA DE ARRAY

 
      Índice del Foro elrincondelc.com -> Java
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
camus1987



Registrado: 31 Ago 2010
Mensajes: 14
Ubicación: lima - peru

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Java
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com