/* 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]);
}