Andaba dandome una vuelta y pues.. estos ejercicios no estan nada mal.. son divertidos me he hecho unos por si alguien en el futuro necesita ver algun ejemplo de resolverlos..
los que mas me gustaron fueron las piramides.. y el rombo lml
Piramide normal:
Hacer la piramide alrevez tambien es muy facil..
El rombo relleno:
Y por ultimo el rombo vacio
Hey gracias Mad.. me he divertido un rato.. siempre es bueno practicar con unos ejercicios de logica..
salu2
los que mas me gustaron fueron las piramides.. y el rombo lml
Piramide normal:
Código (java) [Seleccionar]
import java.util.*;
public class PiramideA
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n;
System.out.println("*=====================*");
System.out.print(" Altura de la piramide: ");
n = cin.nextInt();
System.out.println();
for(int i=0; i<n; i++)
{
for(int j=0; j<=i; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
Hacer la piramide alrevez tambien es muy facil..
Código (java) [Seleccionar]
for(int i=0; i<n; i++)
{
for(int j=n-i-1; j>=0; j--)
{
System.out.print("*");
}
System.out.println();
}
El rombo relleno:
Código (java) [Seleccionar]
import java.util.*;
public class Rombo
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
boolean b = false;;
int n;
do
{
if(b) cout("El dato ingresado debe ser impar\n"); //para que se vea bonito el rombo :P
cout("Ingrese la diagonal horizontal: ");
n = cin.nextInt();
b = (n%2==0);
}while(b);
//calculando los espacios:
String space = "";
for(int i = 0; i<n/2+1; i++)
{
space = space + " ";
}
/*
Impares = 2*N +1
Ocuparemos dicha formula para generar los *
*/
cout("\n Rombo:\n\n");
//formando el rombo:
int tope = n/2 + 1;
for(int i = 0; i < n; i++)
{
if(tope>i)
{
cout(space.substring(i));
for(int j = 0; j<2*i+1; j++)
{
cout("*");
}
}else
{
cout(space.substring(n-i-1));
for(int j = 0; j<2*(n-1-i)+1; j++)
{
cout("*");
}
}
cout("\n");
}
}
public static void cout(String s)
{
System.out.print(s);
}
}
Y por ultimo el rombo vacio
Código (java) [Seleccionar]
//formando el rombo:
int tope = n/2 + 1;
for(int i = 0; i < n; i++)
{
if(tope>i)
{
cout(space.substring(i));
for(int j = 0; j<2*i+1; j++)
{
if(j==2*i || j==0)
cout("*");
else
cout(" ");
}
}else
{
cout(space.substring(n-i-1));
for(int j = 0; j<2*(n-1-i)+1; j++)
{
if(j==2*(n-i-1) || j==0)
cout("*");
else
cout(" ");
}
}
cout("\n");
}
Hey gracias Mad.. me he divertido un rato.. siempre es bueno practicar con unos ejercicios de logica..
salu2