Problema de arreglos
Publicado por Heavy (4 intervenciones) el 28/11/2014 04:55:56
El siguiente ejercicio debo pasarlo a lenguaje Java he intentado pero siempre tengo un error. Básicamente debo traducir el algoritmo a lenguaje Java.
De antemano gracias por la ayuda.
Ejercicio resuelto No. 56
Elaborar un algoritmo que forme dos vectores A y B de N y M elementos
respectivamente y forme un nuevo arreglo C, con loselementos que correspondan a la
unión de A y B. La unión de A y B son los elementosdel vector A que no están en el
vector B. Los vectores no tienen elementos repetidos. A y B tienen máximo 20 elementos.
Análisis
Datos de entrada
• El tamaño del arreglo A
• El tamaño del arreglo B
• Los elementos del vector A
• Los elementos del vector B
Datos de salida
• Los elementos del vector C
Proceso
Como se conoce la cantidad de elementos de cada unode los dos vectores, para su lectura
se utiliza un esquema cuantitativo. Luego se pasan los elementos del vector A al nuevo
vector C y se hace un ciclo externo que recorra loselementos del vector B y uno interno
que recorra los elementos del vector A, buscando cada elemento de B en A, si un
elemento de B no se encuentra en A entonces se pasaal vector C.
Definición de variables.
N: Número de elementos del vector A.
M: Número de elementos del vector B.
A, B y C: Nombre de los tres vectores.
NEC: Número de elementos del vector C.
I, K: Variables de control de ciclos.
Algoritmo
INICIO
LEA: N, M
PARA I = 1, N, 1 HAGA
LEA: A[I]
FIN_PARA
PARA K = 1, M, 1 HAGA
LEA: B[K]
FIN_PARA
PARA I = 1, N HAGA
C[I] = A[I]
FIN_PARA
NEC = N
PARA K = 1, M, 1 HAGA
I = 1
MIENTRAS (I <= N) ∧(B[K] <> A[I]) HAGA
I = I + 1
FIN_MIENTRAS SI I > N ENTONCES NEC = NEC + 1
C[NEC] = B[K]
FIN_SI FIN_PARA
PARA I = 1, NEC, 1 HAGA
ESCRIBA: C[I]
FIN_PARA
FIN_INICIO
De antemano gracias por la ayuda.

Ejercicio resuelto No. 56
Elaborar un algoritmo que forme dos vectores A y B de N y M elementos
respectivamente y forme un nuevo arreglo C, con loselementos que correspondan a la
unión de A y B. La unión de A y B son los elementosdel vector A que no están en el
vector B. Los vectores no tienen elementos repetidos. A y B tienen máximo 20 elementos.
Análisis
Datos de entrada
• El tamaño del arreglo A
• El tamaño del arreglo B
• Los elementos del vector A
• Los elementos del vector B
Datos de salida
• Los elementos del vector C
Proceso
Como se conoce la cantidad de elementos de cada unode los dos vectores, para su lectura
se utiliza un esquema cuantitativo. Luego se pasan los elementos del vector A al nuevo
vector C y se hace un ciclo externo que recorra loselementos del vector B y uno interno
que recorra los elementos del vector A, buscando cada elemento de B en A, si un
elemento de B no se encuentra en A entonces se pasaal vector C.
Definición de variables.
N: Número de elementos del vector A.
M: Número de elementos del vector B.
A, B y C: Nombre de los tres vectores.
NEC: Número de elementos del vector C.
I, K: Variables de control de ciclos.
Algoritmo
INICIO
LEA: N, M
PARA I = 1, N, 1 HAGA
LEA: A[I]
FIN_PARA
PARA K = 1, M, 1 HAGA
LEA: B[K]
FIN_PARA
PARA I = 1, N HAGA
C[I] = A[I]
FIN_PARA
NEC = N
PARA K = 1, M, 1 HAGA
I = 1
MIENTRAS (I <= N) ∧(B[K] <> A[I]) HAGA
I = I + 1
FIN_MIENTRAS SI I > N ENTONCES NEC = NEC + 1
C[NEC] = B[K]
FIN_SI FIN_PARA
PARA I = 1, NEC, 1 HAGA
ESCRIBA: C[I]
FIN_PARA
FIN_INICIO
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
import java.util.Scanner;
public class ejercicioresuelto56v2 {
public static void main(String[]args){
int n, m, nec, i, k;
Scanner leer = new Scanner(System.in);
System.out.print("Número de elementos del vector A: ");
n=leer.nextInt();
System.out.print("Número de elementos del vector B: ");
m=leer.nextInt();
int a[] = new int [n];
for(i=0;i<n;i++){
System.out.print("Elemento del vector A: ");
a[i]=leer.nextInt();
}
int b[] = new int [m];
for(k=0;k<m;k++){
System.out.print("Elemento del vector B: ");
b[k]=leer.nextInt();
}
int c[] = new int [(n+m)-1];
for(i=0;i<n;i++){
c[i]=a[i];
}
nec=n-1;
for(k=0;k<m;k++){
i=0;
while((i<n) && (b[k]!=a[i])){
i=i+1;
}
if(i>n){
nec=nec+1;
c[nec]=b[k];
}
}
for(i=0;i<nec;i++){
System.out.println("Valor del vector C["+i+"]: "+c[i]);
}
}
}
Valora esta pregunta


0