Problema al modificar e imprimir vecotres
Publicado por Cat (1 intervención) el 16/11/2018 04:36:59
Buenas, quisiera saber si me pueden ayudar con lo siguiente.
Tengo problemas a la hora de imprimir unos vectores, el problema es que debo llenar 2 vectores de 5 posiciones cada uno, luego recorrer esos vectores y si hay valores repetidos intercambiar esos valores repetidos por -1, pero conservando uno de ellos pero almacenando ese vector modificado en un vector auxiliar ya que el vector original no se puede tocar.
Ejemplo: vec={1, 3, 5, 3, 6} aux={1, 3, 5, -1, 5}
El problema es que el codigo me esta imprimiendo esto
Suponiendo que lleno el vector con estos valores : vec={1, 3, 5, 3, 6}
imprime: vec={1, 3, 5, -1, 5} aux={1, 3, 5, -1, 5}
pero no se porque ya que el vector vec nunca lo modifico
este es el codigo:
Espero que alguien me pueda ayudar por favor.
Tengo problemas a la hora de imprimir unos vectores, el problema es que debo llenar 2 vectores de 5 posiciones cada uno, luego recorrer esos vectores y si hay valores repetidos intercambiar esos valores repetidos por -1, pero conservando uno de ellos pero almacenando ese vector modificado en un vector auxiliar ya que el vector original no se puede tocar.
Ejemplo: vec={1, 3, 5, 3, 6} aux={1, 3, 5, -1, 5}
El problema es que el codigo me esta imprimiendo esto
Suponiendo que lleno el vector con estos valores : vec={1, 3, 5, 3, 6}
imprime: vec={1, 3, 5, -1, 5} aux={1, 3, 5, -1, 5}
pero no se porque ya que el vector vec nunca lo modifico
este es el 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
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import java.util.*;
public class revisar {
static Scanner sc = new Scanner(System.in);
static int d1=0, d2=0;
static int vec1[]=new int[5];
static int vec2[]=new int[5];
static int aux1[]=new int[5];
static int aux2[]=new int[5];
public static void main(String[] args) {
llenar();
cdimensiones();
mostrar();
}
public static void llenar(){
int i;
for(i=0; i<=4; i++){
System.out.println("Ingrese el valor "+(i+1)+" del vector 1");
vec1[i]=sc.nextInt();
}
for(i=0; i<=4; i++){
System.out.println("Ingrese el valor "+(i+1)+" del vector 2");
vec2[i]=sc.nextInt();
}
for(i=0; i<=4; i++){
aux1[i]=vec1[i];
}
for(i=0; i<=4; i++){
aux2[i]=vec2[i];
}
}
public static void cdimensiones(){
int i, j, sum=0, k;
aux1=revrep(vec1);
aux2=revrep(vec2);
}
public static int[] revrep(int array[]){
int i, j;
for(i=0; i<=3; i++){
if(array[i]!=-1){
for(j=(i+1); j<=4; j++){
if(array[i]==array[j]){
array[j]=-1;
}
}
}
}
return array;
}
public static void mostrar(){
int i;
System.out.print("\n");
System.out.println("Auxiliar 1 es: ");
for(i=0; i<=4; i++){
System.out.print(aux1[i]+ " ");
}
System.out.print("\n");
System.out.println("Vector 1 es: ");
for(i=0; i<=4; i++){
System.out.print(vec1[i]+ " ");
}
System.out.print("\n");
System.out.println("Auxiliar 2 es: ");
for(i=0; i<=4; i++){
System.out.print(aux2[i]+ " ");
}
System.out.print("\n");
System.out.println("Vector 2 es: ");
for(i=0; i<=4; i++){
System.out.print(vec2[i]+ " ");
}
}
}
Espero que alguien me pueda ayudar por favor.
Valora esta pregunta


0