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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 [11]
101  Programación / Programación C/C++ / Re: El juego de la vida en: 20 Noviembre 2016, 18:58 pm
no se si sedeva a  que mi funcion no evalua si la comparacion esta fuera de la matriz, solo evalua si es 0 o 1
102  Programación / Programación C/C++ / Re: El juego de la vida en: 20 Noviembre 2016, 18:47 pm
no ebalua correcta mente algunas celdas como x ejemplo devez en cuando me crea una celula donde no hay nada de vida o en las celulas que estan solas ai ariba no mueren por soledad

MOD: Imagen adaptada a lo permitido.
103  Programación / Programación C/C++ / El juego de la vida en: 20 Noviembre 2016, 18:35 pm
Hola disculpen alguin me podria ayudar con mi implementacion del juego de la vida de john conway, concretamente en la funcion comprobacion(), se agradece de ante mano.  ;D

Código
  1. //El juego de la vida
  2.  
  3. #include <stdio.h>
  4. #include <windows.h>
  5. #include <time.h>
  6.  
  7. int columnas;
  8.  
  9. void gotoxy(int x,int y);
  10. void dibujarrejilla(int fil, int col);
  11. void dibujarCelula(int rejilla[][columnas], int filas, int col);
  12. void llenarRejilla(int rejilla[][columnas], int filas, int col);
  13. void comprobacion(int rejilla[][columnas], int filas, int col);
  14.  
  15. int main(){
  16.  
  17.    int filas, col;
  18.    int i, j;
  19.  
  20.    printf("Coloque el numero de filas\n");
  21.    scanf("%d", &filas);
  22.    printf("Coloque el numero de columnas\n");
  23.    scanf("%d", &col);
  24.  
  25.    columnas = col;
  26.  
  27.    int rejilla[filas][col];
  28.  
  29.    llenarRejilla(rejilla, filas, col);
  30.    dibujarrejilla(filas, col);
  31.  
  32.  
  33.    do{
  34.    dibujarCelula(rejilla, filas, col);
  35.    comprobacion(rejilla, filas, col);
  36.    Sleep(1000);
  37.    //getch();
  38.  
  39.    }while(1);
  40.  
  41.    getch();
  42.    return 0;
  43. }
  44.  
  45. void gotoxy(int x,int y){
  46.      HANDLE hcon;
  47.      hcon = GetStdHandle(STD_OUTPUT_HANDLE);
  48.      COORD dwPos;
  49.      dwPos.X = x;
  50.      dwPos.Y= y;
  51.      SetConsoleCursorPosition(hcon,dwPos);
  52. }
  53.  
  54. void llenarRejilla(int rejilla[][columnas], int filas, int col){
  55.    int i, j;
  56.  
  57.    srand(time(NULL));
  58.  
  59.     for(i=0; i<filas; i++){
  60.        for(j=0; j<col; j++){
  61.            rejilla[i][j]=rand()%2;
  62.        }
  63.     }
  64.  
  65. }
  66.  
  67. void dibujarrejilla(int fil, int col){
  68.    int i, j;
  69.  
  70.    system("cls");
  71.  
  72.    for(i=0; i<fil; i++){
  73.        for(j=0; j<col; j++){
  74.            if(i==0){
  75.                if(j==0){
  76.                    gotoxy(i*2,j*2);
  77.                    printf("%c%c",201,205);
  78.                }else{
  79.                    if((col-1) == j){
  80.                       gotoxy(i*2,j*2);
  81.                        printf("%c%c",200,205);
  82.                        gotoxy(i*2,(j*2-1));
  83.                        printf("%c",186);
  84.                    }else{
  85.                        gotoxy(i*2,j*2);
  86.                        printf("%c%c",204,205);
  87.                        gotoxy(i*2,(j*2-1));
  88.                        printf("%c",186);
  89.                    }
  90.                }
  91.            }else{
  92.                if(j==0){
  93.                    gotoxy(i*2,j*2);
  94.                    printf("%c%c",203,205);
  95.                }else{
  96.                    if((col-1) == j){
  97.                        gotoxy(i*2,j*2);
  98.                        printf("%c%c",202,205);
  99.                        gotoxy(i*2,(j*2-1));
  100.                        printf("%c",186);
  101.                    }else{
  102.                        gotoxy(i*2,j*2);
  103.                        printf("%c%c",206,205);
  104.                        gotoxy(i*2,(j*2-1));
  105.                        printf("%c",186);
  106.                    }
  107.                }
  108.                if((fil-1) == i){
  109.                        if(j==0){
  110.                           gotoxy(i*2,j*2);
  111.                            printf("%c ",187);
  112.                        }else if((col-1) == j){
  113.                            gotoxy(i*2,j*2);
  114.                            printf("%c ",188);
  115.                        }else{
  116.                            gotoxy(i*2,j*2);
  117.                            printf("%c ",185);
  118.                        }
  119.                }
  120.            }
  121.        }
  122.    }
  123.  
  124.  
  125.  
  126. }
  127.  
  128. void dibujarCelula(int pos[][columnas], int filas, int col){
  129.    int j, i;
  130.  
  131.    for(i=0; i<filas-1; i++){
  132.        for(j=0; j<col-1; j++){
  133.            if(pos[i][j] == 1){
  134.                gotoxy((i*2)+1,(j*2)+1);
  135.                printf("%c", 219);
  136.            }else{
  137.                gotoxy((i*2)+1,(j*2)+1);
  138.                printf(" ");
  139.            }
  140.        }
  141.    }
  142.  
  143. }
  144.  
  145. void comprobacion(int rejilla[][columnas], int filas, int col){
  146.    int i, j, x, y, reja[filas][col], vivas;
  147.  
  148.    for(i=0; i<filas; i++){
  149.        for(j=0; j<col; j++){
  150.            if(rejilla[i][j] == 0){
  151.                vivas = 0;
  152.                for(x=0; x<3; x++){
  153.                    for(y=0; y<3; y++){
  154.                        if((i+1)-x == i && (j+1)-y == j){
  155.                            reja[i][j] = rejilla[i][j];
  156.                        }else if(rejilla[(i+1)-x][(j+1)-y] == 1){
  157.                            vivas++;
  158.                        }
  159.                    }
  160.                }
  161.                if( vivas == 3){
  162.                    reja[i][j] = 1;
  163.                }
  164.            }else if(rejilla[i][j] == 1){
  165.                vivas = 0;
  166.                for(x=0; x<3; x++){
  167.                    for(y=0; y<3; y++){
  168.                        if((i+1)-x == i && (j+1)-y == j){
  169.                            reja[i][j] = rejilla[i][j];
  170.                        }else if(rejilla[(i+1)-x][(j+1)-y] == 1){
  171.                            vivas++;
  172.                        }
  173.                    }
  174.                }
  175.                if(vivas == 2 || vivas == 3){
  176.                    reja[i][j] = 1;
  177.                }else{
  178.                    reja[i][j] = 0;
  179.                }
  180.            }
  181.        }
  182.    }
  183.  
  184.    for(i=0; i<filas; i++){
  185.        for(j=0; j<col; j++){
  186.            rejilla[i][j] = reja[i][j];
  187.        }
  188.    }
  189.  
  190. }
  191.  
104  Programación / Programación C/C++ / Re: fprintf de una función en archivo (C) en: 16 Noviembre 2016, 23:09 pm
primero tienes mal declarado tu vecot

int main(int argc, char** argv){
    FILE *fichero,*fichero2;
    int i=0,a,b, vector[100];

int main(int argc, char** argv){
    FILE *fichero,*fichero2;
    int i=0,a,b;
    char vector[100];


segundo tienes que emular los puntos

int cifrarmorse (char frase){
    switch (frase){
        case 'a':
        case 'A': printf("%c- ", 46);
            break;
        case 'b':
        case 'B': printf("-%c%c%c ", 46,46,46);
            break;
Páginas: 1 2 3 4 5 6 7 8 9 10 [11]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines