Desarrollar un algoritmo que permita crear dos vectores A y B de dimensiones N y P respectivamente, se desea construir un tercer vector C, el cual sea el resultado de intercalar los valores de A y B sin que queden valores repetidos en C. ( vector C ordenado ascendente).
import java.io.*;
public class array
{
public static void main (String args[]) throws IOException
{
try
{
InputStream in =System.in;
InputStreamReader manejador =new InputStreamReader(in);
BufferedReader entrada = new BufferedReader(manejador);
int A[],n,B[],C[],p,i,j,k,aux;
System.out.print("Ingrese el tamaño del vector A:");
n=Integer.parseInt(entrada.
System.out.print("Ingrese el tamaño del vector B:");
p=Integer.parseInt(entrada.
A = new int [n];B = new int[p]; C = new int[n+p];
for (i=0; i<n; i++){
System.out.print("Ingrese un valor en la posición"+(i+1)+":");
A[i]= Integer.parseInt(entrada.
}
for (i=0; i<p; i++){
System.out.print("Ingrese un valor en la posición"+(i+1)+":");
B[i]= Integer.parseInt(entrada.
}
for (i=0; i<n-1; i++){
for (j=i; j<n; j++){
if (A[i]>A[j]){
aux = A[i];
A[i] = A[j];
A[j] = aux;
}
}
}
for (i=0; i<p-1; i++){
for (j=i; j<p; j++){
if (B[i] > B[j]){
aux = B[i];
B[i] = B[j];
B[j] = aux;
}
}
}
i = 0; j = 0; k = 0;
while (i<n&&j<p){
k = k+1;
if(A[i] == B[j]){
C[k] = A[i];
i ++;
j++;
}
else{
if (A[i]<B[j]){
C[k] = A[i];
i++;
}
else{
C[k] = B[j];
i++;
}
}
}
if (i<n){
while (i<n){
k = k+1;
C[k] = A[i];
i++;
}
}
else{
while(j<p){
C[k] = B[j];
k++;
j++;
}
}
for(i=0; i<k; i++){
System.out.print(C[i]+" ");
}
}
catch(Exception e){
System.out.print("Error en el programa principal");
}
}
}
Libro: Desarrollo del pensamiento analítico y sistémico. Politécnico JIC. Autor: Luis Norberto Zapata Puerta.
No hay comentarios:
Publicar un comentario