
dibujar un corazón de asteriscos en un arreglo bidimensional en java eclipse
Publicado por Nodier (4 intervenciones) el 25/07/2021 18:18:58
hola, tengo un ejercicio que consiste en dibujar un corazón de asteriscos dentro de una matriz en java, hasta ahora solo he conseguido que se dibuje una pirámide, pero no encuentro la forma de hacer que la pirámide se invierta y así proseguir con el dibujo del corazón. muchas gracias, agradecería su ayuda.
adjunto el código:
import java.util.Scanner;
public class corazon12 {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int n, m;
boolean numeroCorrecto = false;
do {
System.out.print("Ingrese cantidad filas (número impar): ");
n = teclado.nextInt();
System.out.print("Ingrese cantidad columnas (número impar): ");
m = teclado.nextInt();
if(n % 2 != 0 && m % 2 != 0) {
numeroCorrecto = true;
}else {
System.out.println("Error. Debe ingresar dos números impares");
}
System.out.println();
}while(!numeroCorrecto);
char matriz [][] = new char [n][m];
int mitad = matriz[0].length / 2;
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[0].length; j++) {
if((i+j) >= mitad && (j-i) <= mitad) {
matriz [i][j] = '*';
}else {
matriz [i][j] = ' ';
}
System.out.print(matriz [i][j]+" ");
}
System.out.println();
}
}
}
adjunto el código:
import java.util.Scanner;
public class corazon12 {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int n, m;
boolean numeroCorrecto = false;
do {
System.out.print("Ingrese cantidad filas (número impar): ");
n = teclado.nextInt();
System.out.print("Ingrese cantidad columnas (número impar): ");
m = teclado.nextInt();
if(n % 2 != 0 && m % 2 != 0) {
numeroCorrecto = true;
}else {
System.out.println("Error. Debe ingresar dos números impares");
}
System.out.println();
}while(!numeroCorrecto);
char matriz [][] = new char [n][m];
int mitad = matriz[0].length / 2;
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[0].length; j++) {
if((i+j) >= mitad && (j-i) <= mitad) {
matriz [i][j] = '*';
}else {
matriz [i][j] = ' ';
}
System.out.print(matriz [i][j]+" ");
}
System.out.println();
}
}
}
Valora esta pregunta


0