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


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Grafos con listas de adyacencia en: 13 Enero 2019, 16:32 pm
Quiero representar el siguiente grafo ( https://drive.google.com/file/d/1fOm0w3xnxl9KzZOABiISkyx9fwvHcYHt/view?usp=sharing ), el caso es que tiene que ser necesariamente con una lista de listas, es decir, en una primera lista deben estar todos los vértices que componen cada grafo. Cada elemento de esta lista  tiene que contener el vértice, el enlace al siguiente vértice y un enlace a la lista de vértices adyacentes (componen las aristas).
Y la lista de adyacencia de cada vértice contiene la dirección del vértice adyacente, el peso de la arista (en los casos que existan) y el siguiente nodo que compone esta lista.
Alguna sugerencia
2  Programación / Programación C/C++ / Cambio Colores en un solo printf en C en: 19 Junio 2018, 19:22 pm
Hola buenas, tengo una duda acerca de cómo cambiar los colores de un solo printf en el lenguaje C, no en C++.
El problema que quiero resolver es el siguiente, si en un scanf por ejemplo introducimos un 0 y lo imprimimos aparece que es válido y el texto debería de ir en verde, sin embargo si es un numero distinto a 0 el texto debería de ir en rojo.
Es decir, como cambiar el color de un solo printf no el de la consola ni el de el fondo de consola.
3  Programación / Programación C/C++ / Juego de Bingo en: 28 Abril 2018, 19:23 pm
Hola, la duda que tengo es cómo generar los dos modos de juego; automático y manual. En el automático se lanzarían todos las bolas finalizaría cuando un cartón de los pedidos cantase bingo. El manual se ejecutaría bola a bola, pidiendo una intervención del usuario. Al finalizar se deben mostrar los cartones con linea cantada, bingo y los números que hayan salido a lo largo del juego.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void generar(int matriz[][9]);
  5. void imprimir(int matriz[][9]);
  6. void huecos(int matriz[][9], int fila);
  7.  
  8. typedef struct{
  9.    int numeros[3][9];
  10. }Carton;
  11.  
  12. typedef struct{
  13.    Carton * juego;
  14.    int numeroCartones;
  15. }Bingo;
  16.  
  17. typedef struct{
  18.    int bola;
  19. }Numeros;
  20.  
  21. void inicializarBingo(Bingo * miJuego)
  22. {
  23.    int i,j,k;
  24.    int filas;
  25.    int columnas;
  26.    int fila;
  27.    int matriz[3][9];
  28.  
  29.    printf("\nCuantos cartones desea generar: ");
  30.    scanf ("%d", &(miJuego->numeroCartones));
  31.    miJuego->juego=(Carton*)malloc(sizeof(Carton)*miJuego->numeroCartones);
  32.  
  33.    for(i=0;i<miJuego->numeroCartones;i++)
  34.    {
  35.    for(columnas=0;columnas<9;columnas++)
  36.    {
  37.    do{
  38.  
  39.        for(filas=0;filas<3;filas++)
  40.        {
  41.            switch (columnas)
  42.            {
  43.                case 0:
  44.                    matriz[filas][columnas] = 1 + rand() % (10 + 1 - 1);
  45.                    break;
  46.                case 1:
  47.                    matriz[filas][columnas] = 11 + rand() % (20 + 1 - 11);
  48.                    break;
  49.                case 2:
  50.                    matriz[filas][columnas] = 21 + rand() % (30 + 1 - 21);
  51.                    break;
  52.                case 3:
  53.                    matriz[filas][columnas] = 31 + rand() % (40 + 1 - 31);
  54.                    break;
  55.                case 4:
  56.                    matriz[filas][columnas] = 41 + rand() % (50 + 1 - 41);
  57.                    break;
  58.                case 5:
  59.                    matriz[filas][columnas] = 51 + rand() % (60 + 1 - 51);
  60.                    break;
  61.                case 6:
  62.                    matriz[filas][columnas] = 61 + rand() % (70 + 1 - 61);
  63.                    break;
  64.                case 7:
  65.                    matriz[filas][columnas] = 71 + rand() % (80 + 1 - 71);
  66.                    break;
  67.                case 8:
  68.                    matriz[filas][columnas] = 81 + rand() % (90 + 1 - 81);
  69.                    break;
  70.                }
  71.            }
  72.        }while((matriz[0][columnas]== matriz[1][columnas]) ||
  73.               (matriz[0][columnas]==matriz[2][columnas]) ||
  74.               (matriz[1][columnas]== matriz[2][columnas])||
  75.               (matriz[0][columnas]>matriz[1][columnas])||
  76.               (matriz[1][columnas]>matriz[2][columnas]));
  77.    }
  78.    huecos(matriz, 0);
  79.    huecos(matriz, 1);
  80.    huecos(matriz, 2);
  81.  
  82.    for(k=0;k<3;k++)
  83.        {
  84.            for(j=0;j<9;j++)
  85.            {
  86.                ((miJuego->juego)[i]).numeros[k][j] = matriz[k][j];
  87.            }
  88.        }
  89.    }
  90. }
  91.  
  92.  
  93. void mostrar(Bingo miJuego)
  94. {
  95.    int matriz[3][9];
  96.    int i = 0, j = 0, k = 0;
  97.    srand(time(NULL));
  98.    printf("\nTus cartones son los siguientes: ");
  99.    for(i=0;i<miJuego.numeroCartones;i++)
  100.    {
  101.        printf("\n\nCarton numero %d:",i+1);
  102.        printf("\n");
  103.        printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n"
  104.       ,201,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,
  105.       205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,
  106.       205,205,205,205,205,205,205,205,205,205,205,
  107.       205,205,205,205,205,205,205,205,205,187);
  108.    int filas;
  109.    for(filas=0;filas<3;filas++)
  110.    {
  111.    int columnas;
  112.        for(columnas=0;columnas<9;columnas++)
  113.        {
  114.            if (((miJuego.juego)[i]).numeros[filas][columnas]==-1)
  115.                printf("%c_%c%c_%c",186,176,176,186);
  116.  
  117.            else if (columnas == 0 && matriz[filas][0]!=10)
  118.                printf("%c__%i_%c", 186,((miJuego.juego)[i]).numeros[filas][columnas],186);
  119.  
  120.            else
  121.                printf("%c_%i_%c", 186,((miJuego.juego)[i]).numeros[filas][columnas],186);
  122.        }
  123.        printf("\n");
  124.    }
  125.    printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n"
  126.        ,200,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,
  127.       205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,
  128.       205,205,205,205,205,205,205,205,205,205,205,
  129.       205,205,205,205,205,205,205,205,205,188);
  130.    }
  131. }
  132.  
  133. void automatico(Bingo * miJuego)
  134. {
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141. }
  142.  
  143. void manual(Bingo * miJuego)
  144. {
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152. }
  153.  
  154.  
  155.  
  156.  
  157. int main()
  158. {
  159.    printf("\nBienvenidos a este maravilloso Bingo\n");
  160.    Bingo miBingo;
  161.    inicializarBingo(&miBingo);
  162.    mostrar(miBingo);
  163.    Bingo modoAutomatico;
  164.    Bingo modoManual;
  165.  
  166.    int opcion;
  167.        printf( "\n   Si desea jugar en modo automatico pulse 1: \n");
  168.        printf( "\n   Si desea jugar en modo Paso a Paso pulse 2: \n");
  169.        printf("\n\n   ");
  170.        scanf( "%d", &opcion );
  171.        switch ( opcion )
  172.        {
  173.            case 1: printf("\n Juego completo: \n");
  174.                    //system("cls");
  175.                    automatico(&modoAutomatico);
  176.  
  177.                break;
  178.  
  179.            case 2:printf("\n Juego paso a paso: \n");
  180.                    manual(&modoManual);
  181.                    //system("cls");
  182.                break;
  183.         }
  184.  
  185.    return 0;
  186. }
  187.  
  188.  
  189.  
  190.  
  191.  
  192. void huecos(int matriz[][9], int fila)         //funcion que genera los cuatro huecos por fila necesarios en el carton
  193. {
  194.  
  195.    int posicion=0,huecos=0;
  196.    while(huecos<4)
  197.    {
  198.        posicion=rand() % (8 + 1 - 0) + 0;
  199.        if (matriz[fila][posicion]!=-1)
  200.        {
  201.            matriz[fila][posicion]=-1;
  202.            huecos++;
  203.        }
  204.    }
  205. }
  206.  
  207.  
4  Programación / Programación C/C++ / Cartón de Bingo en C. en: 7 Febrero 2018, 14:48 pm
Hola, estoy intentando hacer un cartón de Bingo de 3x9. En los cuales los numeros deben ir ordenados por decenas y en cada linea debe de haber 4 huecos. Por ahora llevo lo siguiente de código, lo cual genera una matriz con numeros aleatorios. Mi problema es que no se insertar los huecos en blanco y tampoco se como evitar repetir un numero aleatorio. Espero que tengaís soluciones:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. int numero_aleatorio();
  6.  
  7. int main(){
  8.    SetConsoleOutputCP(1252);
  9.    srand(time(NULL));
  10.  
  11.    int matriz[3][9];
  12.    int filas;
  13.    int columnas;
  14.  
  15.    printf("Este es su Cartón de Bingo: \n");
  16.    printf("\n");
  17.  
  18.    for(filas=0;filas<3;filas++)
  19.    {
  20.  
  21.        for(columnas=0;columnas<9;columnas++)
  22.        {
  23.            switch (columnas)
  24.            {
  25.                case 0:
  26.  
  27.                    matriz[filas][columnas] = 1 + rand() % (10 + 1 - 1);
  28.  
  29.  
  30.                    break;
  31.                case 1:
  32.                    matriz[filas][columnas] = 11 + rand() % (20 + 1 - 11);
  33.  
  34.                    break;
  35.                case 2:
  36.                    matriz[filas][columnas] = 21 + rand() % (30 + 1 - 21);
  37.  
  38.                    break;
  39.                case 3:
  40.                    matriz[filas][columnas] = 31 + rand() % (40 + 1 - 31);
  41.  
  42.                    break;
  43.                case 4:
  44.                    matriz[filas][columnas] = 41 + rand() % (50 + 1 - 41);
  45.  
  46.                    break;
  47.                case 5:
  48.                    matriz[filas][columnas] = 51 + rand() % (60 + 1 - 51);
  49.  
  50.                    break;
  51.                case 6:
  52.                    matriz[filas][columnas] = 61 + rand() % (70 + 1 - 61);
  53.  
  54.                    break;
  55.                case 7:
  56.                    matriz[filas][columnas] = 71 + rand() % (80 + 1 - 71);
  57.  
  58.                    break;
  59.                case 8:
  60.                    matriz[filas][columnas] = 81 + rand() % (90 + 1 - 81);
  61.  
  62.                    break;
  63.  
  64.            }//final del switch
  65.            }
  66.  
  67.  
  68.  
  69.  
  70.            printf("[ %i ]", matriz[filas][columnas]);
  71.        }
  72.      printf("\n");
  73.    }
  74.  
  75.  
  76.  

También me gustaría saber algún consejo para que el aspecto gráfico al ejecutarlo en consola se mejore y no solamente sea una matriz llena de números.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines