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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Vectores y matrices en funciones en C en: 13 Enero 2019, 12:07 pm
Muchas gracias por tu explicación! Ya lo entendí!! :D
2  Programación / Programación C/C++ / Re: Vectores y matrices en funciones en C en: 13 Enero 2019, 11:14 am
La cosa es que yo tengo este código(sigo abajo del código):
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  Programación / Programación C/C++ / Vectores y matrices en funciones en C en: 13 Enero 2019, 09:04 am
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  Programación / Programación C/C++ / Re: Corrección ejercicio en C de un bingo en: 11 Enero 2019, 21:57 pm
Muchismaas gracias, realmente me has ayudado mas de lo que esperaba, tus consejos los utilizaré cada vez que tenga que programar!!!!. :D
5  Programación / Programación C/C++ / Re: Matrices/Vectores en C en: 11 Enero 2019, 17:03 pm
Valee, muchas gracias!! :D
6  Programación / Programación C/C++ / Matrices/Vectores en C en: 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  Programación / Programación C/C++ / Re: Corrección ejercicio en C de un bingo en: 11 Enero 2019, 16:31 pm
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  Programación / Programación C/C++ / Re: Corrección ejercicio en C de un bingo en: 11 Enero 2019, 13:07 pm
Graciaas!!, ¿Alguien encuentra mis fallos?? :o
9  Programación / Programación C/C++ / Corrección ejercicio en C de un bingo en: 11 Enero 2019, 11:47 am
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á.

Código:
#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;

}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines