• Jueves 2 de Abril de 2026, 04:46

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - player_

Páginas: 1 2 [3]
51
C/C++ / Explicación de código
« en: Domingo 5 de Julio de 2009, 19:37 »
Alguien por favor me puede explicar por qué este código imprime el cuadrado con asteriscos y lo de dentro está vacío?

Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int main(void)
  6. {
  7.    int i, j, filas ,columnas;
  8.    
  9.    printf("Introduzca el numero de filas: ");
  10.    fflush(stdout);
  11.    if (scanf("%d", &filas) != 1)
  12.       return EXIT_FAILURE;
  13.    
  14.    printf("Introduzca el numero de columnas: ");
  15.    fflush(stdout);
  16.    if (scanf("%d",&columnas) != 1)
  17.       return EXIT_FAILURE;
  18.    
  19.    for (i = 1; i <= filas; i++){
  20.       for(j = 1; j <= columnas ; j++)
  21.          if (i == 1 || i == filas || j == 1 || j == columnas)
  22.             printf("*");
  23.          else
  24.             printf(" ");
  25.      
  26.       printf("n");
  27.    }
  28.    
  29.    system ("PAUSE");
  30.    return 0;
  31. }
  32.  
  33.  
He encontrado el código por internet y no consigo comprender el funcionamiento de los 2 for seguidos. No veo por qué el for hace que en la primera fila todo sean asteriscos, en las siguientes solo haya asteriscos en los laterales del cuadrado y lo de dentro esté vacío y en la ultima fila vuelva a aparecer toda la fila con asteriscos. Tampoco comprendo por qué filas pone asteriscos en filas y columnas pone asteriscos en columnas. Se agradecería una explicación del funcionamiento de estos 2 for juntos por pasos con algún ejemplo práctico que aclare la situación. Gracias!!!

Páginas: 1 2 [3]