Hace unos dias (como 10 o mas dias para ser precisos) un lector preguntaba como invertir un arreglo sin utilizar otro arreglo, es muy sencillo, para mostrar eso solo hace falta imprimir el arreglo ya creado de forma inversa con el for:
//Archivo: InvertirArreglo.java
public class
InvertirArreglo{
public static void main(String args[]){
int
numeros[] = {10, 20,
30, 40, 50};
//Bloque 1: Impresion de nuestro arreglo.
System.out.println("Indice\tValor");
for(int contador=0; contador<numeros.length;
contador++)
System.out.println(contador+"\t"+numeros[contador]);
//Bloque 2: Impresión invertida del arreglo.
System.out.println();
System.out.println("Indice\tValor");
for(int contador=numeros.length-1; contador>=0;
contador--)
System.out.println(contador+"\t"+numeros[contador]);
}
}
|
Se declara int numeros[] y se le asignan valores de 10, 20, 30, 40 y 50. En el bloque 1 se imprime nuestro arreglo de manera normal, ordenado en el orden en que fuimos insertando los elementos en el arreglo.
En el bloque 2 se imprimen los elementos de nuestro arreglo de forma inversa a como los fuimos insertando (de atrás hacia adelante). Para esto usamos un for indicando que nuestro contador empezara a contar desde lo que retorne la función numeros.length (que retorna el tamaño de nuestro arreglo, en este caso: 5) menos 1, osea empezara a contar desde 4, que es el ultimo indice de nuestro arreglo numeros[], y le damos de condición de que pare de iterar hasta que contador llegue a 0 y en esta ocasión hacemos decremento de nuestro contador (así irá recorriendo nuestro arreglo de atrás para adelante: 4, 3, 2, 1 y 0 que son los indices de nuestro arreglo). Y finalmente en el cuerpo del for le indicamos que vaya imprimiendo cada linea, cada indice de nuestro arreglo con su respectivo valor.
ME SIRVIO DE MUCHO GRACIAS POR EL APORTE
ResponderBorrarEres un crack!!
ResponderBorrarmuchisimas gracias
ResponderBorrarfue de mucha ayuda <3
Como podria realizar si tengo dos vectores y desea hacer la suma pero el segundo vector tiene que subar de atras para adelante y guardarlo en un tercer vector
ResponderBorrarpackage Practica_2020;
Borrarimport java.util.Scanner;
/**
*
* @author yesid
*/
public class Corte3Diego {
public static void main(String[] args) {
Scanner Teclado = new Scanner(System.in);
int[] vector1 = new int[3];
int[] vector2 = new int[3];
int[] vector3 = new int[3];
for (int i = 0; i < vector1.length; i++) {
System.out.println("Ingrese numero:"+" "+i);
vector1[i] = Teclado.nextInt();
}
for (int i = 0; i < vector2.length; i++) {
System.out.println("Ingrese numero:"+" "+i);
vector2[i] = Teclado.nextInt();
}
for (int j = 0; j < vector1.length; j++) {
for (int m = vector2.length-1; m >= 0; m--) {
vector3[m] = vector1[j]+vector2[m];
System.out.println(""+vector3[m]);
}
}
for (int s = 0; s < vector3.length; s++) {
System.out.println("res:"+vector3[s]);
}
}
}
Este comentario ha sido eliminado por el autor.
ResponderBorrarComo puedo invertir esto?
ResponderBorrarclass Main {
public static void main(String[] args) {
int sumf = 0, sumc;
int[][] matriz = new int[4][5];
//Llenar la matriz
for (int r=0;r<matriz.length;r++){
sumf=0;
for(int c=0;c<matriz[r].length;c++){
matriz[r][c]=(int)(Math.random()*50);
System.out.print(matriz[r][c]+"\t");
sumf=sumf+matriz[r][c];
}
System.out.println("La suma es: "+sumf);
Escribir un programa que lea un vector de 15 elementos y lo imprima invertido.Alguirn me pude ayudar con este ejercicio rn java
ResponderBorrartenia el metodo, pero no me funcionaba. porque no le puse el -1 el cual no entendia. pero aqui me lo aclarastes que con -1 nos referimos a los indices. gracias crack
ResponderBorrarpor que tengo error al compilar el programa?
ResponderBorrarExcelente, esta muy bien la explicacion y el ejemplo.
ResponderBorrar