/* 060208-3.c
* 20 min
*/
#include <stdio.h>
void partida (void);
/* Respuesta 3.a) */
int main (void)
{
int c;
do {
partida ();
printf ("Otra partida (s/n): ");
fflush (stdin);
c = getchar ();
} while (c == 's' || c == 'S');
return 0;
}
/* Respuesta 3.b) */
void inicializa (int v[], int n);
void estadisticas (int n, int tur [], int caram[], int tmn[]);
void partida (void)
{
int tmn [12], turnos [12], carambolas [12];
int carambolas_equipo [2];
int n_carambolas, caram;
int i, n; /* Jugadores */
printf ("Introduce número de jugadores: ");
scanf ("%d", &n);
printf ("A cuántas carambolas: ");
scanf ("%d", &n_carambolas);
inicializa (tmn, 12);
inicializa (turnos, 12);
inicializa (carambolas, 12);
inicializa (carambolas_equipo, 2);
do {
for (i = 0; i < n; i++) {
printf ("Turno del jugador %d. Carambolas: ", i + 1);
scanf ("%d", &caram);
carambolas_equipo [i%2] += caram;
if (tmn [i] < caram)
tmn [i] = caram;
carambolas [i] += caram;
turnos [i]++;
if (carambolas_equipo [i%2] >= n_carambolas)
break;
}
} while (carambolas_equipo [i%2] < n_carambolas);
printf ("Ha ganado el equipo %d, con %d/%d carambolas.\n",
i%2 + 1, carambolas_equipo [i%2], n_carambolas);
estadisticas (n, turnos, carambolas, tmn);
}
void inicializa (int v[], int n)
{
int i;
for (i = 0; i < n; i++)
v[i] = 0;
}
/* Respuesta 3.c) */
void estadisticas (int n, int tur [], int car[], int tmn[])
{
int i;
printf (" Estadísticas.\n");
for (i = 0; i < n; i++)
printf ("Jugador %d: %d turnos, %.1f carambolas/turno. "
"Tirada más numerosa: %d.\n",
i + 1, tur[i], (float) car[i]/tur[i], tmn[i]);
}