Rombo en Java

TRAXTORM

Buenas ! estoy en primero de telecos y haber si alguien m puede dcir como hacer un programa en Java que realice un Rombo rollo:

    X
   X X
  X   X
 X     X
X       X
 X     X
  X   X
   X X
    X

donde el numero q se introduce es el numero de X en cada lado!! (en este caso seria 5 el numero q introduce el usuario)

gracias!

PiradoIV

Puessss supongo que tendrías que usar dos bucles "for", uno para la parte de arriba y otro para la parte de abajo del rombo, con variables que vayan disminuyendo el número de espacios por la izquierda (a--; ) y aumentando el número de espacios por la derecha (b++; ) en el primer bucle y al revés en el siguiente.

Me pondría a cacharrear para sacar el código pero supongo que entonces no aprenderías, que es de lo que se trata, ¿no?.

Saludotes,
Pirado IV estuvo akí ;)

Kartalon

Pirado, no pongas escusas, q tos sabemos q si no lo haces es porque no sabes... :P

We, #1, si no es algo muy importante lo mejor es que lo intentes por ti mismo, no?

Salu2

-eLRiC-

em ... complicat ... vaig a veure si el soluciono per el meu compte xD

IS4kO

weno yo te intentare explicar como lo haria yo.

string Matriz (n,m)//Declaramos una matriz bidimensional
int a;

system.out.println("Introduzca el valor del lado");
Lectura del lado y lo metemos en a //aqui a contendria el valor de la mitad del eje vertical del rombo

n=a; //Al valor n de la matriz le colocamos en lo que seria la mitad de la horizontal del rombo

m=1;

while (m<=a)
{
matriz(n,m)="*";
n=a-m;
m=m+1;
}//con este while ya tendriamos uno de los lados del rombo, en concreto, en el caso de que sea 5 el valor del lado

1234*
1235
12
45
1*345
*2345


Pues ahora habria que hacer lo mismo pero para el resto de las diagonales pensando en que te tiene que quedar algo asi:

12344321
123
5321
12
45421
1
34543*1
2345432
1345431
1245421
1235321
1234*4321

siento no ser más especifico pero como que mi java es algo bastante flojo por no decir casi nulo, pero creo que asi podras hacerte una ligera idea de como estructurar el program

PeLoTaSo

Yo te lo podría hacer en pseudocódigo, o como mucho en C y luego pasarlo tú a java, pero vamos la metodología es la misma para cada lenguaje, lo que cambia es la sintaxis. Yo utilizaría dos for en los cuales lo que haría sería almacenar los espacios que contiene el rombo antes y después del centro, por ejemplo, si te dicen que los espacios son 5 haría un for desde 0 hasta 5 y luego de 4 a 0. A mi en una práctica de programación me pusieron un programa parecido al tuyo pero en pseudocódigo.

Cryoned

tio si es una practica de for y ya quieres que te la hagan, cuando llegue la de fin de cuatrimestre que vas a hacer ? xDD

TRAXTORM

#7 almenos las demas respuestas intentan aportar algo, la tuya??

pa final de cuatrimestre ya te llamaré a ti ;) que todo lo sabes ;)

PeLoTaSo

La verdad es que el #7 tiene razón, si te bloqueas con un for esperate a que te pongan prácticas con punteros, listas y recursividad, todo en uno y me cuentas.

TRAXTORM

#9 si no digo q no tenga razón, sólo que si tanto se defiende la idea d no poner comentarios que no aporten nada a los posts, pues que entonces me dedicaré yo a contestar a los miles de post inutiles que hay al dia en MV con la misma intención y luego a mi me banearian o borrarian el comentario por no aportar nada....

otra cosa, Java no utiliza lógica de Punteros ;) , también he hecho C

yo me encallo en lo que me encallo, no puedo hacerle nada ;)

Cryoned

que pretendes que aporte cuando ya te lo han dicho todo arriba??

Por cierto, Java no usa punteros tiene referencias lo mismo da que da lo mismo.

IS4kO

cuanta hostilidad, con lo facil que seria ver, ayudar o callar jiji

todos a una fuenteovejuna

P.D: Yo no usaria for con un simple while lo sacas :)

P.P.D: Java no utiliza la aritmetica de los punteros pero si que chequea los índices en arreglos tanto estático como dinámico de tipos.

Como bien dice cryoned se les denomina referencias y son el nombre con el que hacemos referencia a un objeto para que la (JVM) pueda operar con él.

LOc0

#include <stdio.h>

void main(){

int i, lado, n;
printf("\t\t\t\tROMBEITOR\n\n");
printf("\n\n\tIntroduce el tamaño del lado del rombo-->  ");
scanf("%d", &lado);
printf("\n\n");

char palabra[(lado*3)]; //El 3 es a ojo xD


//Parte de arriba
for(i=0; i<lado; i++)
{
    //Se llena toda la línea con espacios
    for(n=0; n < (lado*3)-1; n++)
            palabra[n]=' ';
            palabra[n]='\0';
             
    //Se meten los asteriscos donde toque
    palabra[(lado*3)/2-i-1]='*';
    palabra[(lado*3)/2+i-1]='*';
    
    //Imprimimos la línea
    printf("\t%s\n", palabra);
    
}

//Parte de abajo
for(i-=2; i>-1; i--)
{
    //Se llena toda la línea con espacios
    for(n=0; n < (lado*3)-1; n++)
            palabra[n]=' ';
            palabra[n]='\0';
    
    
    //Se meten los asteriscos donde toque
    palabra[(lado*3)/2-i-1]='*';
    palabra[(lado*3)/2+i-1]='*';
    
    //Se escribe la línea
    printf("\t%s\n", palabra);
    
}

getch();
}

Salu2 ;)

rOfEllOs

Si es que lo del traxtormnao este es lo de ser metrosexual y no el dejarse los ojos en el monitor escribiendo lineas de code a saco...
Venga chaval que yo te lo hago en 8086 si quieres XDD ;)

IS4kO

Weno aqui te dejo la mitad del rombo, currate tu (pa que luego no digan que lo tienes todo echo) jeje la otra mitad, como ves es pan comido :)

//ROMBO FOR IS4KO to MV YEAH!!

import java.util.;
import javax.swing.
;

public class rombo
{
public static void main (String [] args)
{
String entrada;
String salida="";
int x;
int y;
int lado;
int al;
entrada=JOptionPane.showInputDialog("INTRODUCE EL TAMAÑO DEL LADO");
lado=Integer.parseInt(entrada);
al=lado;
y=lado;

	//LADO SUPERIOR IZQUIERDO
	do
	{
		for (x=y;x>0;x--)
		{
			salida+="*";
		}	
		al--;
		salida+="\n";
		y--;
	}while(al>=1);
	
	//LADO INFERIOR IZQUIERDO
	al=1;
	y=2;
	
	do
	{
		for (x=0;x<y;x++)
		{
			salida+="*";
		}	
		al++;
		salida+="\n";
		y++;
	}while(al<lado);
	
	JOptionPane.showMessageDialog(null,""+salida);
}		

P.D: Aer si os animais a darle un pokito al java que no se encuentran muchos post por aqui del tema. :)

Carcass

#15 Pero que no sean ejercicios del tercer día de clase, si es posible X-D Algo de J2EE estaría bien...

Usuarios habituales

  • Carcass
  • IS4kO
  • LOc0
  • Cryoned
  • TRAXTORM
  • PeLoTaSo
  • PiradoIV