public class Main {
public static void main(String[] args) {
int a[], b[], c[];
int i,j;
a=new int[12];
b=new int[12];
// la tabla c tendrá que tener el doble de tamaño que a y b.
c = new int [24];
// leemos la tabla a
System.out.println("Leyendo la tabla a");
for (i=0;i<12;i++){
System.out.print("número: ");
a[i]=Entrada.entero();
}
// leemos la tabla b
System.out.println("Leyendo la tabla b");
for (i=0;i<12;i++){
System.out.print("número: ");
b[i]=Entrada.entero();
}
// asignaremos los elementos de la tabla c
// para las tablas a y b utilizaremos como índice i
// y para la tabla c utilizaremos como índice j.
j=0;
i=0;
Ejercicios de Programación en
while (i<12)
{
// copiamos 3 de a
for (int k=0;k<3; k++)
{
c[j]=a[i+k];
j++;
}
// copiamos 3 de b
for (int k=0;k<3;k++)
{
c[j]=b[i+k];
j++;
}
// como hemos copiado 3 de a y b, incrementamos la i en 3.
i+=3;
// la j se incrementa cada vez que se añade un elemento a la tabla c.
}
System.out.println("La tabla c queda: ");
for (j=0;j<24;j++) // seguimos utilizando j, para la tabla c. Aunque se podría utilizar i.
System.out.print(c[j]+" ");
System.out.println("");
}
}
porque haces esto no lo comprendo c[j]=a[i+k];
ResponderBorrarPorque la c[j] evidentemente corresponde al valor que se le dará a v ahora, en a se pondrá el valor que corresponda a su posición en el arreglo, como de ve ahí el i tendrá un valor el cual es 0 al inicio y k tendrá otro valor que también es 0 al inicio, por ende 0+0 será igual a 0 y esto corresponde a la posición 0 del arreglo de a o sea de pondrá el primer número, luego como es un ciclo for la k aumenta con cada vuelta al ciclo y por consiguiente el siguiente valor de k corresponde a 1 y este sumado con el 0 de i dara de resultado 1 el cual será la segunda posición de a en su arreglo y esto se repite sucesivamente hasta que k sobrepase o llegue al límite especificado en el ciclo
Borrarseria i<=9 porque en la primera vuelta i=0,en la segunda i=3,y en esas dos vueltas se llena 6 elementos del arreglo a y 6 de elemento en total 12, cómo son 24 elementos de 0 a 23,solo faltaría dos vueltas más para completar los 24 elementos por eso 9.
ResponderBorrartu código es muy bueno, pero le hace falta nombrar o importar el Scanner.
ResponderBorrarAl igual la parte donde vas a imprimir en pantalla ese tiene que ir dentro del while y el salto de linea a fuera de ella. Pero hay en fuera, todo esta bien, solo es corregir esos detalles.
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int a[] = new int[12];
int b[] = new int[12];
int c[] = new int[24]; //la tabla c tendra 24 elementos
//leemos el arreglo a
System.out.println("Digitamos el primer arreglo");
for(int i=0;i<12;i++){
System.out.print((i+1)+". Digite un numero: ");
a[i] = entrada.nextInt();
}
//leemos el arreglo b
System.out.println("\nDigitamos el segundo arreglo");
for(int i=0;i<12;i++){
System.out.print((i+1)+". Digite un numero: ");
b[i] = entrada.nextInt();
}
//mezclamos los dos arreglos en el arreglo c
//vamos a usar el iterador i para a y b
//y el iterador j para el arreglo c
int i=0;
int j=0;
while(i<12){
//copiamos 3 del arreglo a
for(int k=0;k<3;k++){
c[j] = a[i+k];
j++;
}
//copiamos 3 del arreglo b
for(int k=0;k<12;k++){
c[j] = b[i+k];
j++;
}
//como copiamos 3 de a y 3 de b, incrementos la interacion i en 3
i+=3;
//la j se incrementa cada vez que se añade un elemento al arreglo c
System.out.println("\nEl arreglo c queda: ");
for(i=0;i<24;i++){ //seguimos usando j, para la tabla c
System.out.print(c[i]+" ");
}
System.out.println("");
}
}