elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Rombo con asteriscos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: [C] Rombo con asteriscos  (Leído 61,020 veces)
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #10 en: 6 Marzo 2014, 22:21 pm »

Bueno ..... creo que ya hemos dado una tremenda cantidad de opciones al autor del post sobre cómo resolver su problema.

Lástima que él no haya seguido escribiendo, y al final terminamos agarrándonos el tema para nosotros, jeje  :laugh:



Me quedó un mal regusto al tener que usar un array en la última versión, así que ahí va una sin un array de caracteres:

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  int i=0, j, a;
  5.  do{
  6.    printf("\nBase del rombo(numero impar positivo): \n");
  7.    scanf("%d", &a);
  8.    }while ( a <=0 || (a % 2) == 0);
  9.    for ( i=2*(a/2);i>=0;i-=2){
  10.      printf("%*c",i/2+a/2,'*');
  11.      for ( j=0;j<=2*(a/2)-1-i;j++)
  12.        putchar('*');
  13.      putchar ('\n');
  14.    }
  15.    for ( i=1;i<2*(a/2);i+=2){
  16.      printf("%*c",i/2+a/2+1,'*');
  17.      for ( j=0;j<=2*(a/2)-2-i;j++)
  18.        putchar('*');
  19.      putchar ('\n');
  20.    }
  21.    return 0;
  22. }

¡¡¡¡ Saluditos! ..... !!!!






« Última modificación: 7 Marzo 2014, 19:34 pm por leosansan » En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #11 en: 7 Marzo 2014, 01:09 am »

¡Buenas!

Como aun no había ninguna solución recursiva, aquí os dejo una  ;D
Código
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. /* n == numero total de filas del rombo (no puede ser par) y el segundo parametro siempre es cero:
  6.    ejemplos: rombo(3,0);
  7.              rombo(11,0);
  8. */
  9. void rombo(int n,int paso)
  10. {
  11.    char *str = malloc(n / 2 + paso + 4);
  12.  
  13.    if(!(n & 1))
  14.        return;
  15.  
  16.    memset(str,' ',n / 2 - paso + 1);
  17.    memset(str + n / 2 - paso + 1 , '*' , 2 * paso + 1);
  18.    memcpy(str + n / 2 + paso + 2 ,"\n\0",2);
  19.  
  20.    printf("%s",str);
  21.  
  22.    if(paso == n / 2)
  23.    {
  24.        free(str);
  25.        return;
  26.    }
  27.  
  28.    rombo(n,paso+1);
  29.  
  30.    printf("%s",str);
  31.  
  32.    free(str);
  33. }
  34.  
  35. int main(int argc, char *argv[])
  36. {
  37.    rombo(5,0);
  38.    rombo(4,0);
  39.    return 0;
  40. }
  41.  


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #12 en: 7 Marzo 2014, 03:53 am »

Otra solución recursiva pero forzada (ya que parte de la información se codifica en la cadena a imprimir) es:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void f(char *ch);
  5.  
  6. int main(void)
  7. {
  8.   char ch[] = "    *\0*******";
  9.  
  10.   f(ch);
  11.  
  12.   return EXIT_SUCCESS;
  13. }
  14.  
  15. void f(char *ch)
  16. {
  17.   int i = printf("%s\n", ch) - 1;
  18.  
  19.   if (*ch == ' '){
  20.      ch[i] = '*';
  21.      ch[i + 2] = '\0';
  22.      f(ch + 1);
  23.  
  24.      printf("%.*s\n", i, ch);
  25.   }
  26. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #13 en: 7 Marzo 2014, 09:48 am »

Venga va, yo también aporto un código con recursividad.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void paso( int max_filas, int fila, int col );
  5.  
  6. int main()
  7. {
  8.  paso( 11, 0, 0 );
  9.  return EXIT_SUCCESS;
  10. }
  11.  
  12. void paso( int max_filas, int fila, int col )
  13. {
  14.  const char* chars = " *";
  15.  if( fila < max_filas )
  16.  {
  17.    int num_sp = abs( max_filas/2 - fila);
  18.    int end = max_filas - num_sp;
  19.    if ( col == end )
  20.    {
  21.      printf( "\n" );
  22.      col = -1;
  23.      fila++;
  24.    }
  25.    else
  26.      printf( "%c", chars[ col >= num_sp ] );
  27.  
  28.    paso( max_filas, fila, ++col );
  29.  }
  30. }
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #14 en: 7 Marzo 2014, 18:56 pm »

Sin arrays, sólo printf y un par de for menos que antes:

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  int i=0,j,k,a;
  5.  do{
  6.    printf("\nBase del rombo(numero impar positivo): \n");
  7.    scanf("%d",&a);
  8.    }while ( a <=0 || (a % 2) == 0);
  9.    for ( i=-2*(a/2);i<=2*(a/2);i+=2){
  10.      k=i;
  11.      if (i>0)
  12.        k=-i;
  13.      printf("%*c",-k/2+a/2,'*');
  14.      for ( j=0;j<=2*(a/2)-1+k;j++)
  15.        putchar('*');
  16.      putchar ('\n');
  17.    }
  18.    return 0;
  19. }

Y por qué no dibujar el rombo "vacio":


Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  int i=0,j,k,a;
  5.  do{
  6.    printf("\nBase del rombo(numero impar positivo): \n");
  7.    scanf("%d",&a);
  8.    }while ( a <=0 || (a % 2) == 0);
  9.    for ( i=-2*(a/2);i<=2*(a/2);i+=2){
  10.      k=i;
  11.      if (i>0)
  12.        k=-i;
  13.      if (k==-2*(a/2) || k==2*(a/2))
  14.        printf("%*c",-k/2+a/2,'*');
  15.      else
  16.        printf("%*c%*c",-k/2+a/2,'*',2*(a/2)+k,'*');
  17.      putchar ('\n');
  18.    }
  19.    return 0;
  20. }

Y para que no falte, uno con recursividad:

Código
  1. #include <stdio.h>
  2.  
  3. int rellenar (int A,int a);
  4. int main(){
  5.  int a;
  6.  do{
  7.    printf("\nBase del rombo(numero impar positivo): \n");
  8.    scanf("%d",&a);
  9.    }while ( a <=0 || (a % 2) == 0);
  10.    rellenar (-2*(a/2),a);
  11.    return 0;
  12. }
  13.  
  14. int rellenar (int A,int a){
  15.  int j,k;
  16.  if (A==2*(a/2)+2)
  17.    return 1;
  18.  k=A;
  19.  if (A>0)
  20.    k=-A;
  21.  printf("%*c",-k/2+a/2,'*');
  22.  for ( j=0;j<=2*(a/2)-1+k;j++)
  23.    putchar('*');
  24.  putchar ('\n');
  25.  rellenar (A+2,a);
  26. }

¡¡¡¡ Saluditos! ..... !!!!


« Última modificación: 7 Marzo 2014, 22:27 pm por leosansan » En línea

dmacias

Desconectado Desconectado

Mensajes: 41


Ver Perfil WWW
Re: [C] Rombo con asteriscos
« Respuesta #15 en: 7 Marzo 2014, 22:57 pm »

Vaya, si que os entreteneis con esto jajajajaja.
He estado liado, de trabajo asta las cejas asi que llevo unos dias parado con los estudios, pero en unos dias me pongo a ello de nuevo.

De todo lo que habeis puesto, de la mayoria hay cosas que no entiendo, soy muy nuevo y solo llevo 4 temas del libro vistos, pero de todos modos les hechare un vistazo.

Gracias a todos por ponerme tantos ejemplos, asi tengo donde elegir y comparar las logicas de cada uno.

Un saludo
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #16 en: 8 Marzo 2014, 15:50 pm »


Vaya, si que os entreteneis con esto jajajajaja.
...............................................................

Gracias a todos por ponerme tantos ejemplos, asi tengo donde elegir y comparar las lógicas de cada uno.

Un saludo

Pues si que ha sido entretenido.

Y aunque do-while me lo piso, no me resisto a poner el caso con memset. Es ligeramente diferente al suyo ya que no uso recurrencia y es ligeramente más cortito:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(void){
  6.  int i,j,a;
  7.  do{
  8.    printf("\nBase del rombo(numero impar positivo): \n");
  9.    scanf("%d",&a);
  10.    }while ( a <=0 || (a % 2) == 0);
  11.  char *str = malloc(2*a+1);
  12.  for (i = -a/2; i <= a/2; i++){
  13.    j=i;
  14.  if (i>0)
  15.    j=-i;
  16.    memset (str,' ',(a/2)-j);/** relleno izquierda con espacios **/
  17.    memset (str+(a/2)-j, '*',2*((a/2)+j)+1); /** relleno derecha con asteriscos **/
  18.    printf ("%s\n",str);
  19.    memset (str,0,2*a+1);/** hago nula la cadena para volver a usarla **/
  20.  }
  21.  free(str);
  22.  return EXIT_SUCCESS;
  23. }

¡¡¡¡ Saluditos! ..... !!!!



En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #17 en: 8 Marzo 2014, 16:58 pm »

Otra forma mas. Esta considerando la pantalla una matriz de 20X80 caracteres y dibujando así sobre la matriz el rombo.
Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. #define MAX_FILAS 20
  7. #define MAX_COLUMNAS 80
  8.  
  9. void dibujar_borde(char pantalla[][MAX_COLUMNAS],int n_filas)
  10. {
  11.    int i;
  12.  
  13.    for(i = 0 ; i < n_filas ; i++)
  14.        pantalla[i][abs(n_filas / 2 - i)] = pantalla[i][n_filas - abs(n_filas / 2 - i) - 1] = '*';
  15. }
  16.  
  17. void rellenar(char pantalla[][MAX_COLUMNAS], int fila, int columna)
  18. {
  19.    if(pantalla[fila][columna] == '*' || fila < 0 || fila >= MAX_FILAS || columna < 0 || columna >= MAX_COLUMNAS)
  20.        return;
  21.  
  22.    pantalla[fila][columna] = '*';
  23.  
  24.    rellenar(pantalla, fila - 1, columna);
  25.    rellenar(pantalla, fila + 1, columna);
  26.    rellenar(pantalla, fila, columna - 1);
  27.    rellenar(pantalla, fila, columna + 1);
  28. }
  29.  
  30. void imprimir(char pantalla[][MAX_COLUMNAS])
  31. {
  32.    int i;
  33.  
  34.    for(i = 0 ; i < MAX_FILAS ; i++)
  35.        printf("%.*s\n",MAX_COLUMNAS - 1 , pantalla[i]);
  36. }
  37.  
  38. void rombo_2(int n_filas)
  39. {
  40.    char pantalla[MAX_FILAS][MAX_COLUMNAS];
  41.    int i;
  42.  
  43.    if(!(n_filas & 1))
  44.        return;
  45.  
  46.    for(i = 0 ; i < MAX_FILAS ; i++)
  47.        memset(pantalla[i],' ',MAX_COLUMNAS);
  48.  
  49.    dibujar_borde(pantalla,n_filas);
  50.    rellenar(pantalla , n_filas / 2 , n_filas / 2);
  51.    imprimir(pantalla);
  52. }
  53.  
  54. int main(int argc, char *argv[])
  55. {
  56.    rombo_2(11);
  57.  
  58.    return 0;
  59. }
  60.  

No es tan corta como las otras pero bueno, primero dibuja el perimetro y luego rellena el interior. Si rellenais el exterior tendreis el dibujo en "negativo".

¡Saludos!

Y ahora complicandolo un poco mas:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define MAX_FILAS 20
  6. #define MAX_COLUMNAS 80
  7.  
  8. int correcto(int fila,int columna)
  9. {
  10.    return fila >= 0 && fila < MAX_FILAS && columna >=0 && columna < MAX_COLUMNAS;
  11. }
  12.  
  13. void dibujar_borde(char pantalla[][MAX_COLUMNAS],int n_filas , int fila_centro, int columna_centro)
  14. {
  15.    int i;
  16.  
  17.    for(i = 0 ; i < n_filas ; i++)
  18.    {
  19.        if(correcto(fila_centro - n_filas / 2 + i , columna_centro - n_filas / 2 + abs(n_filas / 2 - i)))
  20.            pantalla[fila_centro - n_filas / 2 + i][columna_centro - n_filas / 2 + abs(n_filas / 2 - i)] = '*';
  21.  
  22.        if(correcto(fila_centro - n_filas / 2 + i , columna_centro + n_filas / 2 - abs(n_filas / 2 - i)))
  23.            pantalla[fila_centro - n_filas / 2 + i][columna_centro + n_filas / 2 - abs(n_filas / 2 - i)] = '*';
  24.    }
  25. }
  26.  
  27. void rellenar(char pantalla[][MAX_COLUMNAS], int fila, int columna)
  28. {
  29.    if(pantalla[fila][columna] == '*' || fila < 0 || fila >= MAX_FILAS || columna < 0 || columna > MAX_COLUMNAS)
  30.        return;
  31.  
  32.    pantalla[fila][columna] = '*';
  33.  
  34.    rellenar(pantalla, fila - 1, columna);
  35.    rellenar(pantalla, fila + 1, columna);
  36.    rellenar(pantalla, fila, columna - 1);
  37.    rellenar(pantalla, fila, columna + 1);
  38. }
  39.  
  40. void imprimir(char pantalla[][MAX_COLUMNAS])
  41. {
  42.    int i;
  43.  
  44.    for(i = 0 ; i < MAX_FILAS ; i++)
  45.        printf("%.*s\n",MAX_COLUMNAS - 1 , pantalla[i]);
  46. }
  47.  
  48. void rombo_3(char pantalla[][MAX_COLUMNAS], int n_filas, int fila_centro, int columna_centro)
  49. {
  50.    int i;
  51.  
  52.    if(!(n_filas & 1))
  53.        return;
  54.  
  55.    dibujar_borde(pantalla , n_filas, fila_centro , columna_centro);
  56.    rellenar(pantalla , fila_centro, columna_centro);
  57. }
  58.  
  59. int main(int argc, char *argv[])
  60. {
  61.    char pantalla[MAX_FILAS][MAX_COLUMNAS];
  62.    int i;
  63.    char cad[] = "QUEDA BONITO";
  64.  
  65.    for(i = 0 ; i < MAX_FILAS ; i++)
  66.        memset(pantalla[i],' ',MAX_COLUMNAS);
  67.  
  68.    rombo_3(pantalla, 11 , 10, 11/2);
  69.    rombo_3(pantalla, 17 , 10 , 11 + 17/2);
  70.    rombo_3(pantalla, 19 , 10 , 28 + 19 / 2);
  71.  
  72.    for(i = 0 ; cad[i] ; i++)
  73.        pantalla[5 + i][50] = cad[i];
  74.  
  75.    imprimir(pantalla);
  76. }
  77.  

¡Saludos!

Y en esta tercera versión, podéis jugar con los caracteres que forman el borde y los rellenos.
Código
  1.  
  2.  
  3. int correcto(int fila,int columna)
  4. {
  5.    return fila >= 0 && fila < MAX_FILAS && columna >=0 && columna < MAX_COLUMNAS;
  6. }
  7.  
  8. void dibujar_borde(char pantalla[][MAX_COLUMNAS],int n_filas , int fila_centro, int columna_centro,char ch)
  9. {
  10.    int i;
  11.  
  12.    for(i = 0 ; i < n_filas ; i++)
  13.    {
  14.        if(correcto(fila_centro - n_filas / 2 + i , columna_centro - n_filas / 2 + abs(n_filas / 2 - i)))
  15.            pantalla[fila_centro - n_filas / 2 + i][columna_centro - n_filas / 2 + abs(n_filas / 2 - i)] = ch;
  16.  
  17.        if(correcto(fila_centro - n_filas / 2 + i , columna_centro + n_filas / 2 - abs(n_filas / 2 - i)))
  18.            pantalla[fila_centro - n_filas / 2 + i][columna_centro + n_filas / 2 - abs(n_filas / 2 - i)] = ch;
  19.    }
  20. }
  21.  
  22. void rellenar(char pantalla[][MAX_COLUMNAS], int fila, int columna, char relleno)
  23. {
  24.    char actual;
  25.  
  26.    if(!correcto(fila,columna))
  27.        return;
  28.  
  29.    actual = pantalla[fila][columna];
  30.  
  31.    if(relleno == actual)
  32.        return;
  33.  
  34.    pantalla[fila][columna] = relleno;
  35.  
  36.    if(correcto(fila - 1,columna) && actual == pantalla[fila - 1][columna])
  37.        rellenar(pantalla, fila - 1, columna,relleno);
  38.  
  39.    if(correcto(fila + 1,columna) && actual == pantalla[fila + 1][columna])
  40.        rellenar(pantalla, fila + 1, columna,relleno);
  41.  
  42.    if(correcto(fila,columna + 1) && actual == pantalla[fila][columna + 1])
  43.        rellenar(pantalla, fila, columna + 1,relleno);
  44.  
  45.    if(correcto(fila,columna - 1) && actual == pantalla[fila][columna - 1])
  46.        rellenar(pantalla, fila, columna - 1,relleno);
  47.  
  48.    pantalla[fila][columna] = relleno;
  49. }
  50.  
  51. void imprimir(char pantalla[][MAX_COLUMNAS])
  52. {
  53.    int i;
  54.  
  55.    for(i = 0 ; i < MAX_FILAS ; i++)
  56.        printf("%.*s\n",MAX_COLUMNAS - 1 , pantalla[i]);
  57. }
  58.  
  59. int main(int argc, char *argv[])
  60. {
  61.    char pantalla[MAX_FILAS][MAX_COLUMNAS];
  62.    int i;
  63.    char cad[] = "QUEDA BONITO",interior = '*', exterior = ' ';
  64.  
  65.    for(i = 0 ; i < MAX_FILAS ; i++)
  66.        memset(pantalla[i],' ',MAX_COLUMNAS);
  67.  
  68.    dibujar_borde(pantalla, 11 , 10, 11/2 , interior);
  69.    rellenar(pantalla,10,11/2,interior);
  70.  
  71.    dibujar_borde(pantalla, 17 , 10, 10 + 17/2, interior);
  72.    rellenar(pantalla, 10 , 10 + 17 / 2, interior);
  73.  
  74.    dibujar_borde(pantalla, 11 , 10, 26 + 11 / 2, interior);
  75.    rellenar(pantalla, 10 , 26 + 11 / 2 , interior);
  76.  
  77.    rellenar(pantalla,0,0,exterior);
  78.  
  79.    for(i = 0 ; cad[i] ; i++)
  80.        pantalla[5 + i][50] = cad[i];
  81.  
  82.    imprimir(pantalla);
  83.  
  84.    return 0;
  85. }
  86.  

¡Saludos de nuevo!
« Última modificación: 8 Marzo 2014, 20:51 pm por do-while » En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [C] Rombo con asteriscos
« Respuesta #18 en: 9 Marzo 2014, 08:04 am »


Vamos, con matrices.

Ahí va una con el borde:




Código
  1. /** BORDES **/
  2. #include <stdio.h>
  3.  
  4. int main(){
  5.  int i=0,j,k=1,a=21;
  6.  
  7.  /*do{
  8.     printf("\nBase del rombo(numero impar positivo): \n");
  9.     scanf("%d",&a);
  10.     }while ( a <=0 || (a % 2) == 0);*/
  11.    char A[a+4][a+4],cad[]="L E O S A N S A N";
  12.    for ( i=0;i<=a+4;i++)
  13.      for ( j=0;j<=a+4;j++)
  14.        A[i][j]='0';
  15.    A[0][a/2]='*';
  16.    i=1;
  17.    while (i<=a/2){
  18.      A[i][(a/2)-i]=A[i][i+(a/2)]='*';
  19.      i++;
  20.    }
  21.    k=i;
  22.    while (i>=(a/2)+1 && i<=a){
  23.      k--;
  24.      A[i][(a/2)+1-k]=A[i][(a/2)+k-1]='*';
  25.      i++;
  26.    }
  27.    if (a>20){
  28.      for ( i=(a/2)-8,k=0;i<(a/2)+10;i++,k++)
  29.        A[i][22]=cad[k];
  30.    }
  31.  
  32.    putchar ('\n');
  33.    for ( i=0;i<a;i++){
  34.      printf("\t\t");
  35.      for ( j=0;j<a+2;j++){
  36.         if (A[i][j]=='0' )
  37.            printf("%c",' ');
  38.          else
  39.            printf("%c",A[i][j]);
  40.      }
  41.      putchar ('\n');
  42.    }
  43.    return 0;
  44. }

Y por qué no en positivo y negativo:


Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  int i=0,j,k=1,a=21;
  5.  /*do{
  6.     printf("\nBase del rombo(numero impar positivo): \n");
  7.     scanf("%d",&a);
  8.     }while ( a <=0 || (a % 2) == 0);*/
  9.    char A[a+1][a+1];
  10.    for ( i=0;i<=a;i++)
  11.      for ( j=0;j<=a;j++)
  12.        A[i][j]='0';
  13.    A[0][a/2]='*';
  14.    i=1;
  15.    while (i<=a/2){
  16.      for ( j=(a/2)-i;j<=i+(a/2);j++){
  17.        A[i][j]='*';
  18.      }
  19.      i++;
  20.    }
  21.    k=i;
  22.    while (i>=(a/2) && i<=a){
  23.      --k;
  24.      for ( j=(a/2)+1-k;j<(a/2)+k;j++)
  25.        A[i][j]='*';
  26.      i++;
  27.    }
  28.    /** EN POSITIVO **/
  29.    for ( i=0;i<=a;i++){
  30.      printf("\t\t");
  31.      for ( j=0;j<a;j++){
  32.         if (A[i][j]=='0')
  33.            printf("%c",' ');
  34.          else
  35.            printf("%c",A[i][j]);
  36.      }
  37.      putchar ('\n');
  38.    }
  39.    putchar ('\n');
  40.    /** EN NEGATIVO **/
  41.    for ( i=0;i<=a;i++){
  42.      printf("\t\t");
  43.      for ( j=0;j<a;j++){
  44.         if (A[i][j]=='0')
  45.            printf("%c",'*');
  46.          else
  47.            printf("%c",' ');
  48.      }
  49.      putchar ('\n');
  50.    }
  51.    return 0;
  52. }

He preferido hacer dos códigos en lugar de uno con funciones para los posibles seguidores de este tema .... y paso de traslaciones, empiezo a estar saturado de tanto rombo. ¿Alguien se anima a empezar un nuevo tema con el triángulo de Pascal o Tartaglia?

¡¡¡¡ Saluditos! ..... !!!!


En línea

Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: [C] Rombo con asteriscos
« Respuesta #19 en: 9 Marzo 2014, 17:28 pm »

Ok, el triángulo de Pascal, pero exactamente qué se te ocurre hacer?? Acepto el reto, jeje (claro, en un nuevo post) ...
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
Páginas: 1 [2] 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mini Reto Python. Dibujar rombo ~ « 1 2 »
Ejercicios
Dnk! 14 25,744 Último mensaje 6 Marzo 2013, 09:59 am
por santiasecas
Imprimir un patron de asteriscos
Programación C/C++
dmacias 5 5,364 Último mensaje 2 Febrero 2014, 18:35 pm
por dmacias
[C] Ayuda para cerrar mi rombo
Programación C/C++
izazaga 1 1,576 Último mensaje 29 Septiembre 2015, 20:34 pm
por ivancea96
Crear rombo de asteriscos en javascript
Desarrollo Web
LuisCardenas123 3 5,942 Último mensaje 4 Noviembre 2019, 09:41 am
por Agente Naranja
¿Cómo funciona el color del rombo?
Sugerencias y dudas sobre el Foro
Tachikomaia 5 5,730 Último mensaje 17 Noviembre 2020, 14:43 pm
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines