Soy nuevo en el foro y me uní para resolver una duda respecto a un programa que intento desarrollar pero me ha costado.
Primeramente cabe recalcar que soy muy muy principiante en eso de programación así que habrá gente a la que le parezca muy fácil pero eso es lo que busco precisamente, ese conocimiento para poder solucionar mi problema.
Bueno al tema. el caso es el siguiente.
Estoy desarrollando el juego de picas y fijas ( ampliamente conocido, muy sencillo ) básicamente el ordenador genera un numero aleatorio ( sin dígitos repetidos ) y la persona tiene que intentar adivinar dicho numero ingresando un numero de 4 dígitos y de acuerdo a si acierta o falla se irá revelando el numero. ahora bien, ya acabe mi programa, simplemente con sentencias if y else y alguno que otro while se puede resolver ( como dije nada del otro mundo ).
Pero me tome un reto, quiero modularizar mi programa y desearía crear una función que me devuelva un array ( se que no es posible que devuelva un array, pero es como lo pienso ) para poder así volver en pequeños procesos mi programa.
básicamente la función hace el proceso de crear numero aleatorio y me regresa esos números, ( tiene que ser array para poder hacer comparaciones con el numero ingresado por la persona) .
de igual forma tener otra función para volver array el numero ingresado por la persona y luego otra función que compare los números y genere un resultado, como ya había dicho tengo desarrollado el programa, tengo todo los procesos, las comparaciones etc, solo me falta meter esas partes en funciones y así poder tener un mejor control del programa.
De todas maneras adjunto el codigode la parte en la cual genero el numero aleatorio ( es largo pero es la forma como se me ocurrió)
Código
/** METER ESTO EN UNA FUNCION**/ srand(time(NULL)); /** para crear numero aleatorio **/ int numeroaleatorio = (rand()%9)+1; /** se le asigna un valor a la variable numero aleatorio comprendido entre 1-9**/ numeroaleatoriofuncion[0] = numeroaleatorio; numeroaleatoriofuncion[1] = numeroaleatorio; numeroaleatoriofuncion[2] = numeroaleatorio; /** Lo que se hace es comparar el valor de las variables para poder asi cambiarlas, **/ numeroaleatoriofuncion[3] = numeroaleatorio; /** inicialmente se tiene que todos los numeros iguales, pero luego, por medio del bucle se hacen las comparaciones y asi asegurar que ningun numero se repetira **/ while( numeroaleatoriofuncion[3]==numeroaleatoriofuncion[2]){ int numeroaleatorio = (rand()%9)+1; numeroaleatoriofuncion[2] = numeroaleatorio; } while (numeroaleatoriofuncion[3] == numeroaleatoriofuncion[1]|| numeroaleatoriofuncion[2] == numeroaleatoriofuncion[1]){ int numeroaleatorio = (rand()%9)+1; numeroaleatoriofuncion[1] = numeroaleatorio; } while (numeroaleatoriofuncion[3] == numeroaleatoriofuncion[0]|| numeroaleatoriofuncion[2] == numeroaleatoriofuncion[0]||numeroaleatoriofuncion[1] == numeroaleatoriofuncion[0]){ int numeroaleatorio = (rand()%9)+1; numeroaleatoriofuncion[0] = numeroaleatorio; } /** ACA TERMINAR LA PARTE PARA GENERAR UN NUMERO ALEATORIO **/
claramente eso está en el main,ojala se pueda pasar a una función pero me tiene que devolver esos valores aleatorio por separado para poder manipularlos.
He leído bastante y me he topado con los apuntadores y todo ese tema, pero no se como lo puedo aplicar directamente en mi programa.
Gracias por su atención, ojala hayan entendido.
Saludos.