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 - Gamerpc

#1
Cita de: engel lex en 23 Mayo 2018, 19:01 PM
tu problema no está en la algoritmia... está en el uso de los printf... se usan sin & si no,en lugar de imprimir el valor imprimes su dirección

Menudo error... que empanamiento.

Muchas gracias por la ayuda
#2
El codigo completo es este:
Código (cpp) [Seleccionar]
char CASELLA_BUIDA = '.';

/* variables globales */
unsigned char nd8, nd9, nd10;  

char tablero_barcos[100];        
char tablero_disparos[100];    

void principal()
{
   multiples_partidas(tablero_barcos, tablero_disparos,  8, &nd8 );
   multiples_partidas(tablero_barcos, tablero_disparos,  9, &nd9 );
   multiples_partidas(tablero_barcos, tablero_disparos, 10, &nd10);
   printf("n8: %i\n", &nd8);
   printf("n9: %i\n", &nd9);
   printf("n10: %i\n", &nd10);
}
void multiples_partidas(char tablero_barcos[], char tablero_disparos[],
                       unsigned int dim, unsigned char *var_promedio)
{
   unsigned int quo, mod;
   int num_partidas=0;
   int disparos_totales=0;
   int error=0;
   while(num_partidas<150){
       B_inicializa_barcos(tablero_barcos, dim);
       inicializa_matriz(tablero_disparos, dim, dim, CASELLA_BUIDA, dim);
       disparos_totales=disparos_totales + partida_completa(tablero_disparos, dim);
       num_partidas=num_partidas+1;
   }
   printf("disparos totales: %i\n", disparos_totales);
   error=div_mod(disparos_totales, num_partidas, &quo, &mod);
   printf("quo: %i\n", quo);
   printf("num partidas: %i\n", num_partidas);
   printf("error: %i\n", error);
   *var_promedio =quo;
}


Lo único que hace el main es llamar a principal();


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex



No sabia que los códigos deben ir en etiquetas GeSHi sorry

tampoco doble post... usa el botón modificar
#3
Hola a todos,

Hace poco que he empezado a programar en C y me ha surgido un problema, a ver si alguien me puede ayudar.

He declarado esto en c:

unsigned char nd8;

como variable global, y quiero modificar su valor mediante una función, esta:

void multiples_partidas unsigned char *var_promedio);

en el que var_promedio es la variable global.

en esta función tengo:

quo= 50;

y para modificar la variable global uso

*var_promedio =quo;

pero su valor no se modificar.

Pd: en el compilador no me da ningún error.

Un saludo y gracias de antemano