Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Hacer un código que siga un patrón

Estas en el tema de Hacer un código que siga un patrón en el foro de C/C++ en Foros del Web. He estado intentando hacer un código pero no puedo y necesito ayuda. El chiste es hacer un código en C que sólo tenga una condición ...
  #1 (permalink)  
Antiguo 06/02/2015, 14:24
 
Fecha de Ingreso: febrero-2015
Mensajes: 3
Antigüedad: 9 años, 2 meses
Puntos: 0
Hacer un código que siga un patrón

He estado intentando hacer un código pero no puedo y necesito ayuda.
El chiste es hacer un código en C que sólo tenga una condición if-else y 4 loops.
Que imprima:

000000
011110
010010
011110
000000

o así

00000
01110
01010
01110
00000

o que funcione del tamaño del cuadro que tu quieras.
  #2 (permalink)  
Antiguo 06/02/2015, 14:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Hacer un código que siga un patrón

¿Cual es tu pregunta?

Simplemente hazlo, solo divide tu problema en problemas mas pequeños que puedas resolver.

Ejemplo:
Código:
1. Llena la matriz con ceros
2. Crea las lineas horizontales de unos
3. Crea las lineas verticales de unos
  #3 (permalink)  
Antiguo 06/02/2015, 21:44
 
Fecha de Ingreso: febrero-2015
Mensajes: 3
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Hacer un código que siga un patrón

Esto es lo que he hecho pero no se como hacerle para que el cuadro funcione para cualquier tamaño y para que se vaya poniendo unos en cuadros como lo que puse antes. En una sola condición de "IF-ELSE".

Código C:
Ver original
  1. int main(){
  2.     int N=10;
  3.     int A[N][N];
  4.     int row,col;
  5.  
  6.    for (row = 0; row<N; row++){
  7.  
  8.       for (col= 0; col<N; col++){
  9.         if(CONDICION){
  10.             A[row][col]=1;
  11.         }else{
  12.              A[row][col]=0;
  13.         }
  14.            
  15.       } //col
  16.    }//row
  17.  
  18.    PSA(N,A);
  19. }
  20.  
  21. void PSA(int tam, int arreglo[tam][tam]){
  22.     int row, col;
  23.      for (row = 0; row<tam; row++){
  24.  
  25.       for (col= 0; col<tam; col++){
  26.        
  27.       printf("%d", arreglo[row][col]);
  28.  
  29.       } //col
  30.         printf("\n");
  31.    }//row

Última edición por razpeitia; 06/02/2015 a las 22:17
  #4 (permalink)  
Antiguo 08/02/2015, 22:59
 
Fecha de Ingreso: febrero-2015
Mensajes: 3
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Hacer un código que siga un patrón

Cita:
Iniciado por razpeitia Ver Mensaje
¿Cual es tu pregunta?

Simplemente hazlo, solo divide tu problema en problemas mas pequeños que puedas resolver.

Ejemplo:
Código:
1. Llena la matriz con ceros
2. Crea las lineas horizontales de unos
3. Crea las lineas verticales de unos
Esto es lo que he hecho pero no se como hacerle para que el cuadro funcione para cualquier tamaño y para que se vaya poniendo unos en cuadros como lo que puse antes. En una sola condición de "IF-ELSE".

Código C:

Código C:
Ver original
  1. int main(){
  2.     int N=10;
  3.     int A[N][N];
  4.     int row,col;
  5.  
  6.    for (row = 0; row<N; row++){
  7.  
  8.       for (col= 0; col<N; col++){
  9.         if(CONDICION){
  10.             A[row][col]=1;
  11.         }else{
  12.              A[row][col]=0;
  13.         }
  14.            
  15.       } //col
  16.    }//row
  17.  
  18.    PSA(N,A);
  19. }
  20.  
  21. void PSA(int tam, int arreglo[tam][tam]){
  22.     int row, col;
  23.      for (row = 0; row<tam; row++){
  24.  
  25.       for (col= 0; col<tam; col++){
  26.        
  27.       printf("%d", arreglo[row][col]);
  28.  
  29.       } //col
  30.         printf("\n");
  31.    }//row

Última edición por razpeitia; 09/02/2015 a las 08:23
  #5 (permalink)  
Antiguo 09/02/2015, 18:55
 
Fecha de Ingreso: noviembre-2014
Mensajes: 36
Antigüedad: 9 años, 6 meses
Puntos: 13
Respuesta: Hacer un código que siga un patrón

Cita:
Iniciado por okar7795 Ver Mensaje
Que imprima:

000000
011110
010010
011110
000000
He escrito el siguiente código para el propósito

Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int min(int x, int y) {return (x < y ? x : y);}
  4.  
  5. int main(void)
  6. {
  7.     int i, j, n = 6;
  8.  
  9.     for( j = 1; j < n; j++ )
  10.     {
  11.         for( i = 1; i <= n; i++ )
  12.             if( min(i - 1, min(j - 1, min(n - j - 1, n - i))) == 1 )
  13.                 printf("1");
  14.             else
  15.                 printf("0");
  16.         printf("\n");
  17.     }
  18.     return 0;
  19. }

Un Saludo

Última edición por kutcher; 09/02/2015 a las 19:01
  #6 (permalink)  
Antiguo 17/02/2015, 11:21
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Hacer un código que siga un patrón

No he podido probar el código por falta de tiempo pero suponiendo que los límites de tus matrices sean p y q, bastaría con un par de comprobaciones:

Código:
for (int i=0;i<=p;i++){ 
    for (int j=0;j<=q;j++){
       if (mat[i][j]==mat[i][2] || mat[i][j]==mat[2][j]){
          mat[i][j]=1;
       }
       if (mat[i][j]==mat[p-1][q] || mat[i][j]==mat[p][q-1]){
          mat[i][j]=1;
       }
    }
}
Tiene un tiempo que no programo en c++, pero pasando por alto mis posibles errores de sintaxis, la lógica del programa (si no puse mal algo), debería poder hacer lo que pides

Etiquetas: funcion, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:29.