-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TP7 ejercicio 6 (MASTERMIND) #75
Comments
Acá estás cambiando el iterador dentro del ciclo y también en la línea donde está el for, eso es confuso for(int i = 0; i < X - 1 ; i++){
num = randInt(1,9);
if(vecAux[num]==0){
incognita[i]=num;
vecAux[num] += 1;
}else{
--i;
}
} Además estás verificando si un un dígito ya salió o no. Eso puede servir si tu número tiene muy pocos dígitos, pero qué pasa si X pasa a ser 7. Y algo similar pasará cuando tengan que programar el bingo, al extraer una bolilla del bolillero. Si la solución es similar a esta sería como si cuando sale una bolilla la vuelven a meter, y cada vez que sale una preguntan si ya salió o no, a medida que avanza el juego se pone muy lento. Podrías generar un vector con todos los valores a usar y después una de dos:
El resto me parece que está bien |
Genial!! gracias Marcelo. Lo corrijo y dejo la nueva version cuando este. Buenas noches :) |
codigo corregido: `#include <stdio.h> #define X 3 void generarAleatorio(int incognita[]); int
//Para probar mas rapido si funciona jeje
} void generarAleatorio(int incognita[]){ // Arma un arreglo de X elementos no repetidos
} int elegirNivel(void){
} void leerNumero(int numero[]){
} int isValid(int numerito) {
} bool coincideNumero(int numero[], int incognita[]){
} int cantidadBien(int numero[], int incognita[]){
} int cantidadRegular(int numero[], int incognita[]){
} |
Está muy bien. Sólo sacaría esta línea srand(time(NULL)); porque eso se debe hacer una sola vez al principio del programa, y ya lo estás haciendo al invocar randomize() |
Hola buenas! Esta es mi version del mastermind! funcionar funciona bien pero me encantaria ver que onda el tema de la eficiencia y estilo. Que mejoras le harian... con la unica funcion que tengo muy segura que no hay eficiencia es con la de contarRegular. Desde ya, Muchas gracias!
`#include <stdio.h>
#include <stdbool.h>
#include "getnum.h"
#include "random.h"
#include <time.h>
#define X 3
void generarAleatorio(int incognita[]);
int elegirNivel(void);
void leerNumero(int numero[]);
bool coincideNumero(int numero[], int incognita[]);
int cantidadBien(int numero[], int incognita[]);
int cantidadRegular(int numero[], int incognita[]);
int isValid(int numerito);
int
main(void){
}
void generarAleatorio(int incognita[]){ // Arma un arreglo de X elementos no repetidos
}
int elegirNivel(void){
}
void leerNumero(int numero[]){
}
int isValid(int numerito) {
int digits[10] = {0}; // Máximo 10 dígitos posibles (0-9)
int count = 0;
int temp = numerito;
}
bool coincideNumero(int numero[], int incognita[]){
}
int cantidadBien(int numero[], int incognita[]){
}
int cantidadRegular(int numero[], int incognita[]){
}
`
The text was updated successfully, but these errors were encountered: