Java - Orden de dos vectores

 
Vista:
sin imagen de perfil
Val: 31
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Orden de dos vectores

Publicado por Joker (27 intervenciones) el 02/12/2019 18:05:40
Hola!

No sé como hacer para que el vector de 14 números este ordenado sin utilizar los métodos de ordenación.

El programa es el siguiente:
Introducir por teclado dos vectores de 7 números cada uno. Cada vector se supone que ha sido introducido en orden ascendente. Con estos dos vectores deseamos obtener un tercer vector que tendrá 14 números de forma que el resultado del nuevo vector sea un vector ordenado ascendentemente como estaban los vectores iniciales.

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
import java.util.Scanner;
 
public class OrdenDeDosVectores {
	public static void main (String[] args){
 
		Scanner sc = new Scanner (System.in);
		int[] lista1 = new int [7];
		int[] lista2 = new int [7];
		int[] mezcla = new int [14];
		int i, i2, j;
 
		//Valores primera cadena//
		System.out.println ("Introduce los números del vector 1: ");
		for (i=0; i<7; i++) {
			System.out.print (" - Introduce un valor en " + (i+0) + ": ");
			lista1[i]=sc.nextInt();
		}
 
		System.out.println ("  ");
 
		//Valores segunda cadena//
		System.out.println ("Introduce los números del vector 2: ");
		for (i2=0; i2<7; i2++) {
			System.out.print(" - Introduce un valor en " + (i2+0) + ": ");
			lista2[i2]=sc.nextInt();
		}
 
		System.out.println ("  ");
 
		//Mezcla de los dos
		System.out.println ("El nuevo vector mezclado es: ");
 
		System.out.println();
 
	}
}
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: 186
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Orden de dos vectores

Publicado por Juan (70 intervenciones) el 02/12/2019 18:29:04
Si ambos ya están ordenados simplemente puedes recorrer el vector e ir preguntando quien es mayor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int v1=0,v2=0; //variables para posicionarse en los 2 vectores de 7
for (int k=0; k<14; k++){
    if (v1<7){
        if(lista1[v1]<lista2[v2]){
             mezcla[k]=lista1[v1];
             v1++;
         }else{
             mezcla[k]=lista2[v2];
             v2++;
         }
    }else{
         mezcla[k]=lista2[v2];
         v2++;
     }
}
//Mezcla de los dos
System.out.println ("El nuevo vector mezclado es: ");
for (int k=0; k<14; k++){
    System.out.println(" "+k+": "+mezcla[k]);
}

Esto solo sirve si se cumple lo que has dicho, de que los otros dos vectores de 7 están ordenados de manera ascendiente
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