Java - ayuda con arrays porfavor

 
Vista:
sin imagen de perfil

ayuda con arrays porfavor

Publicado por Mario (3 intervenciones) el 01/06/2018 10:25:13
hola buenas noches, la cuestion es que tengo un problema que no me ah dejado en paz todo el dia, no eh podido resolver este problema:

elaborar un programa que lea una lista de numeros enteros positivos y los muestre en pantalla,
posteriormente, si hay numeros retidos debe eliminarse y quedar solo uno y llenar ceros los espacios que quedaron
imprimir de nuevo la lista.

ejem.
lista inicial 5 6 7 5 8 10 20 7
lista final 5 6 7 0 8 10 20 0

hasta ahora llevo el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
public class Salvavidas {
 
	public static void main(String[] args) {
 
		int nElementos;// guardara el tamaño de la lista
 
		Scanner objeto= new Scanner(System.in);
 
		//definimos el tamaño de la lista
		System.out.println("Ingrese la Cantidad de numeros que Agregara a la lista");
		nElementos = objeto.nextInt();
 
		int lista[]= new int[nElementos];// creamos la lista
 
		//ingreso de Datos
		System.out.println("Ahora Ingresara los Numeros En la lista");
		for(int i = 0; i<nElementos; i++) {
 
			System.out.print((i+1) + ". Ingrese el Numero ");
			lista[i] = objeto.nextInt();
 
		}
		//muestra en lista los valores ingresados
		System.out.println("\nLos Numeros Ingresados en la lista son: ");
		for(int i = 0; i<nElementos; i++) {
			System.out.print(lista[i] + " ");
		}
	}
}

pero ya no se como hacer para que me reemplaze los numeros repetidos por los 0, si pudiecen ayudarme, es mi ultima oportunidad para pasar mi materia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 68
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

ayuda con arrays porfavor

Publicado por gianmarco (26 intervenciones) el 01/06/2018 19:59:23
Hola, agrega otro for dentro del primero for que tienes y con condicional if haz la comparación de i != j , para que reemplace el número repetido por el cero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda con arrays porfavor

Publicado por Mario (3 intervenciones) el 02/06/2018 02:14:44
la verdad no te entendi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 68
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

ayuda con arrays porfavor

Publicado por gianmarco (26 intervenciones) el 02/06/2018 02:21:29
Por allí te respondieron, e igual te paso el código completo, me comentas si te sirvió, saludos!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.Scanner;
 
/**
 *
 * @author gianmarco
 */
public class Ejercicio14 {
 
    public static void main(String[] args) {
        Scanner lector = new Scanner(System.in);
        int cantidad, cantidad2;
        System.out.println("Ingrese cantidad");
        cantidad = lector.nextInt();
        int lista[] = new int[cantidad];
        int lista2[] = new int[cantidad];
 
        for (int i = 0; i < lista.length; i++) {
            System.out.println("Ingrese numero " + (i + 1));
            lista[i] = lector.nextInt();//
            lista2[i] = lista[i];//Guardo en una segunda lista (lista2) la lista original que se ingreso (lista1)
 
            for (int j = 0; j < lista.length - 1; j++) {
                if (i != j) {
                    if (lista[i] == lista[j]) {
                        // eliminamos su valor, y reemplazamos por cero
                        lista[i] = 0;
                    }
                }
            }
 
        }
        //muestra la lista ingresada
        System.out.println("Los numeros ingresados son");
        for (int i = 0; i < lista2.length; i++) {
            System.out.print(lista2[i]);
        }
        System.out.println("");
        //muestra la lista reemplazando por 0 al numero que se repite
        System.out.println("Lista reemplazada por 0 al numero repetido");
        for (int i = 0; i < lista.length; i++) {
            System.out.print(lista[i]);
        }
        System.out.println("");
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kingk
Val: 247
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda con arrays porfavor

Publicado por kingk (108 intervenciones) el 02/06/2018 00:20:41
Hola, puedes hacerlo asi:
1
2
3
4
5
6
7
8
for(int i = 0; i<nElementos; i++) {
    for(int j=0;j<i;j++){
        if(lista[i]==lista[j]){
            lista[i]=0;
        }
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda con arrays porfavor

Publicado por Mario (3 intervenciones) el 02/06/2018 02:20:37
ese en que parte del codigo lo pondria?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kingk
Val: 247
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda con arrays porfavor

Publicado por kingk (108 intervenciones) el 03/06/2018 00:50:37
Despoes del ingreso de los numeros, y antes de mostrar los elementos del array. O sea seia asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.util.Scanner;
 
public class Salvavidas {
 
	public static void main(String[] args) {
 
		int nElementos;// guardara el tamaño de la lista
 
		Scanner objeto= new Scanner(System.in);
 
		//definimos el tamaño de la lista
 
		System.out.println("Ingrese la Cantidad de numeros que Agregara a la lista");
 
		nElementos = objeto.nextInt();
 
		int lista[]= new int[nElementos];// creamos la lista
 
		//ingreso de Datos
 
		System.out.println("Ahora Ingresara los Numeros En la lista");
 
		for(int i = 0; i<nElementos; i++) {
 
			System.out.print((i+1) + ". Ingrese el Numero ");
 
			lista[i] = objeto.nextInt();
 
		}
        //Elimina los elementos repetidos, reemplazandolos por 0
        for(int i = 0; i<nElementos; i++) {
 
            for(int j=0;j<i;j++){
 
                if(lista[i]==lista[j]){
 
                    lista[i]=0;
 
                }
 
            }
 
        }
 
		//muestra en lista los valores ingresados
 
		System.out.println("\nLos Numeros Ingresados en la lista son: ");
 
		for(int i = 0; i<nElementos; i++) {
 
			System.out.print(lista[i] + " ");
 
		}
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar