Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - vaillo33

#1
Muchas gracias por tu explicación! Ya lo entendí!! :D
#2
La cosa es que yo tengo este código(sigo abajo del código):
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int controladorCarton1=0, final=0, bolas=0, vectorcarton1 [20], sacadas [100], numeroscarton1[100];
int contador1=0, numerosbolas[100], controladorBola=0;
char x=0x58;
void ImprimoPrincipio(void){
    printf("----------------------------\n");
    printf("Juego del bingo simplificado\n");
    printf("----------------------------\n");
}

int GeneradorNumero(void){           //Genero un numero aleatorio
    int num;

    num = rand() % 100;
    return num;
}
int Bola(void){
    int y=0, z, v;
    if(controladorBola==0){
        for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
            numerosbolas[y]=x+1;
            y++;
            controladorBola=1;
        }
    }if(controladorBola==1){
        do{
            z=GeneradorNumero();
        }while(numerosbolas[z]==0);
        v=numerosbolas[z];
        numerosbolas[z]=0;

    }
    return v;
}

void Carton1(void){
    int y=0, z, v, bola;
    if(controladorCarton1==0){
        printf("Carton 1: \n");
        for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
            numeroscarton1[y]=x+1;
            y++;
        }
        for(int u=0;u<20;u++){
            z=GeneradorNumero();

            do{
                z=GeneradorNumero();
            }while(numeroscarton1[z]==0);

            vectorcarton1[u]=numeroscarton1[z];
            numeroscarton1[z]=0;
            printf("%d",vectorcarton1[u]);
            v=vectorcarton1[u]/10;
            if(v<1){
                printf("  ");
            }else{
                printf(" ");
            }
            if(u==4||u==9||u==14||u==19){
                printf("\n");

            }
        }
    }else{
        printf("Bolas: ");
        bola=Bola();
        sacadas[bolas]=bola;
        for(int a=0;a<=bolas;a++){
            printf("%d ",sacadas[a]);
        }
        bolas++;
        printf("\nCarton 1:\n");
        for(int i=0;i<20;i++){
            if(vectorcarton1[i]==bola){
                vectorcarton1[i]=x;
                contador1=contador1+1;

            }
        }
        for(int j=0;j<20;j++){
            if((int(vectorcarton1[j])==88)){
                printf("%c",vectorcarton1[j]);
                printf("  ");
                if(j==4||j==9||j==14||j==19){
                    printf("\n");

                }
            }else{
                printf("%d",vectorcarton1[j]);
                v=vectorcarton1[j]/10;
                if(v<1){
                    printf("  ");
                }else{
                    printf(" ");
                }

                if(j==4||j==9||j==14||j==19){
                    printf("\n");

                }
            }
        }
        if(contador1==20){
            printf("Gana el jugador 1\n");
            final=1;
            return;

        }
    }


    controladorCarton1=1;
}

int main(void){
    srand(time(NULL));
    ImprimoPrincipio();
    Carton1();
    printf("\n");
    getchar();
    do{
        system("cls");
        ImprimoPrincipio();
        Carton1();
        getchar();
    }while(final==0);
    getchar();
    return 0;

}

Me acabo de dar cuenta que no se pueden utilizar variables globales, y no se como puedo utilzar por ejemplo: el vector numerosbolas[100], en la función Carton1, si no fuera por esa variable global que he creado, no sabría utilizarlo en otra función como Carton1 para poder leer ese vector, editarlo y guardarlo, no se si me he explicado bien. :-X
#3
Buenos días, mi duda es la siguiente:
Al realizar un programa con diferentes funciones();, en el que no se puede utilizar variables globales, necesito utilizar un vector/matriz, que necesito ir editando y guardando en diferentes funciones, ¿los podría pasar a otra función() de alguna manera?, o ¿tendría que hacerlo todo en una misma función?, o ¿alguna otra idea?, gracias.
#4
Muchismaas gracias, realmente me has ayudado mas de lo que esperaba, tus consejos los utilizaré cada vez que tenga que programar!!!!. :D
#5
Valee, muchas gracias!! :D
#6
Programación C/C++ / Matrices/Vectores en C
11 Enero 2019, 16:32 PM
Una pregunta, en un vector o una matriz tipo int, se puede introducir un valor como una 'X' que sería de tipo char?
#7
La parte del código que falla es al crear una bola, y revisar el carton 1, para ver si tiene ese número el poner una X en vez del numero, pero muchas gracias por tu consejo nebire!
#8
Graciaas!!, ¿Alguien encuentra mis fallos?? :o
#9
Buenas, les dejo por aqui mi código, me estoy volviendo loco intentando ver lo que he hecho mal, no encuentro el error, me podéis ayudar??. El enunciado del problema sería el siguiente:
En este ejercicio implementaremos el juego del bingo simplificado. Habrá dos jugadores, con sus respectivos cartones compuestos por 20 números aleatorios del 1 al 100 (todos los números de un cartón han de ser forzosamente distintos). Por otro lado, se irá generando una secuencia de números aleatorios comprendidos también entre 1 y 100, que representan las bolas que van saliendo del bombo (esta secuencia tampoco podrá tener números repetidos). La mecánica del programa será la siguiente: en cada iteración, mostraremos los números que han ido saliendo del bombo hasta el momento, así como los dos cartones, donde habremos tachado (en vez del número saldrá una X) los números que ya hayan salido. Esperaremos entonces a que el usuario pulse una tecla y a continuación sacaremos una nueva bola del bombo, actualizaremos los cartones con la nueva bola y volverá a aparecer toda la información (lista con las bolas que han salido y cartones actualizados). El programa terminará cuando alguno de los dos cartones se complete, con lo que el jugador asociado a dicho cartón ganará.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int controladorCarton1=0, final=0, bolas=0;
void ImprimoPrincipio(void){
   printf("----------------------------\n");
   printf("Juego del bingo simplificado\n");
   printf("----------------------------\n");
}

int GeneradorNumero(void){           //Genero un numero aleatorio
   int num;

   num = rand() % 100;
   return num;
}
int Bola(void){
   int numerosbolas[100], sacadas[100], y=0, z, v;
   printf("Bolas: ");
   for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
       numerosbolas[y]=x+1;
       y++;
   }

   do{
       z=GeneradorNumero();
   }while(numerosbolas[z]==0);
   v=numerosbolas[z];
   numerosbolas[z]=0;
   return v;
}

void Carton1(void){
   int numeroscarton1[100], y=0, z, vectorcarton1 [20], v, bola, contador1, sacadas[100];
   printf("Carton 1: \n");
   if(controladorCarton1==0){
       for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
           numeroscarton1[y]=x+1;
           y++;
       }
       for(int u=0;u<20;u++){
           z=GeneradorNumero();

           do{
               z=GeneradorNumero();
           }while(numeroscarton1[z]==0);

           vectorcarton1[u]=numeroscarton1[z];
           numeroscarton1[z]=0;
           printf("%d",vectorcarton1[u]);
           v=vectorcarton1[u]/10;
           if(v<1){
               printf("  ");
           }else{
               printf(" ");
           }
           if(u==4||u==9||u==14||u==19){
               printf("\n");

           }
       }
   }else{
       bola=Bola();
       sacadas[bolas]=bola;
       bolas++;
       for(int i=0;i<20;i++){
           if(vectorcarton1[i]==bola){
               vectorcarton1[i]='X';
               contador1++;
           }
           for(int j=0;j<20;j++){
               printf("%d",vectorcarton1[j]);
               v=vectorcarton1[j]/10;
               if(v<1){
                   printf("  ");
               }else{
                   printf(" ");
               }
               if(j==4||j==9||j==14||j==19){
                   printf("\n");

               }
           }
           if(contador1==20){
               printf("Gana el jugador 1\n");
               final=1;
               return;

           }
       }

   }
   controladorCarton1=1;
}

void Carton2 (void){
   int numeroscarton2[100], y=0, z, vectorcarton2 [20], v;
   printf("Carton 2: \n");
   for(int x=0;x<100;x++){          //creo un vector con todos los numeros del 1 al 100
       numeroscarton2[y]=x+1;
       y++;
   }
   for(int u=0;u<20;u++){
       z=GeneradorNumero();

       do{
           z=GeneradorNumero();
       }while(numeroscarton2[z]==0);

       vectorcarton2[u]=numeroscarton2[z];
       numeroscarton2[z]=0;
       printf("%d",vectorcarton2[u]);
       v=vectorcarton2[u]/10;
       if(v<1){
           printf("  ");
       }else{
           printf(" ");
       }
       if(u==4||u==9||u==14||u==19){
           printf("\n");

       }
   }
}



int main(void){
   srand(time(NULL));
   ImprimoPrincipio();
   Carton1();
   printf("\n");
   Carton2();
   getchar();
   system("cls");
   do{
       ImprimoPrincipio();
       Carton1();
       getchar();
   }while(final==0);
   getchar();
   return 0;

}