[C] Rombo con asteriscos

Iniciado por dmacias, 1 Marzo 2014, 20:14 PM

0 Miembros y 1 Visitante están viendo este tema.

leosansan

#30
Cita de: amchacon en 16 Marzo 2014, 14:02 PM

...........AMCHACON..................


Espero que no te tomes a mal la licencia que me he tomado al colgar este código en el nuevo tema del binomio de Newton y triángulo de Pascal. Me pareció más oportuno.

Así dejaremos este para las ondas y continuar con la pirámide de asteriscos.

Y no quiero dejar de pasar la ocasión de brindar un homenaje a un antiguo "maestro" aunque de otro foro, pero creo que su punto de vista es "rompedor" con todo lo visto hasta ahora. Es un maestro en lo que yo he dado por llamar "códigos raritos y cortitos": el amigo Pantalàimon.

Conste que yo lo único que he hecho en este caso es "traducir" el código de C++ a C e implementar el que sólo salgan los impares. Ahí va:

Código (cpp) [Seleccionar]

#include <stdio.h>
#include <stdbool.h>

bool en_rombo( int n, int i, int j ){
  if ((((i+j+n)%2) && i + j > n && i + j < 3*n
      && i - j < n && i - j >  -n))
   return true;
 else
   return false;
}

int main(){
 int i, j, n=21;
 /*do{
   printf("\nBase del rombo(numero impar positivo): \n");
   scanf("%d", &n);
 }while ( n <=0 || (n % 2) == 0);*/
 for( i = 1; i < 2*n; i+=2 ){
   for( j = 1; j < 2*n; j+=2 )
     printf ("%c",en_rombo( n, i, j ) ? '*' : ' ' );
   putchar ('\n');
 }
 return 0;
}


Viendo otros códigos, con la excepción del aportado por rir3760 , este se sale. Lo repito, es todo un homenaje a  Pantalàimon al que desde aquí le reitero mis gracias por lo mucho que me ayudo en los inicios, junto a rir3760, Cheroky , untio y Sorancio. GRACIAS.