Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "pila.h"
- void mostrarArregloFloat(float a_promedios[100],int validos);
- float calcularProm(int arreglo[100],int validos);
- int guardarProm(float prom, float a_promedios[100], int pos);
- int main()
- {
- //globales para todos los pj
- Pila intentos;
- float arreglo_p[100];
- int posArregloProm = 0;
- int cantidadJugadores = 3; //turnos
- int jugadorActual = 0; //turno
- inicpila(&intentos);
- //de cada pj
- int dim = 100;
- int arreglo[100];
- while (jugadorActual<cantidadJugadores)
- {
- printf("TURNO JUGADOR %d\n",jugadorActual+1);
- printf("\n");
- inicArreglo(arreglo,dim);
- mostrarArreglo(arreglo,dim);
- int cantidadDeIntentos = cargarArreglo(arreglo,100,arreglo_p,jugadorActual);
- mostrarArreglo(arreglo,cantidadDeIntentos);
- cargarPila(&intentos,cantidadDeIntentos);
- printf("te llevo %d intentos\n",cantidadDeIntentos);
- jugadorActual++;//sumo un turno
- system("pause");
- system("cls");
- }
- printf("ESTADISTICAS FINALES \n");
- mostrarPilaManual(intentos);
- int mayor = mayorCantidadDeIntentos(intentos);
- int menor = menorCantidadDeIntentos(intentos);
- printf("la mayor cantidad de intentos es %d\n",mayor);
- printf("la menor cantidad de intentos es %d\n",menor);
- printf("PROMEDIOS FINALES \n");
- mostrarArregloFloat(arreglo_p,cantidadJugadores);
- return 0;
- }
- int cargarArreglo(int arreglo[100],int dim, float arreglo_p[100],int posArregloProm)
- {
- int validos = 0;
- int danio = 0;
- int controlDanio = 0;
- int sumaTotal = validarDanioTotal(arreglo,validos);//aca da -1
- //cargar hasta que la vida == 100
- while (sumaTotal==-1)
- {
- //cargar el arreglo
- do
- {
- danio = ingresoDanio(validos);
- controlDanio = validarDanio(danio);
- }
- while (controlDanio==-1);
- arreglo[validos] = danio;
- validos++;
- sumaTotal = validarDanioTotal(arreglo,validos);//aca puede dar otra cosa
- }
- float prom = calcularProm(arreglo,validos);
- posArregloProm = guardarProm(prom,arreglo_p,posArregloProm);
- return validos;
- }
- void inicArreglo(int arreglo[100],int dim)
- {
- int indice = 0;
- for (indice = 0; indice<dim; indice++)
- {
- arreglo[indice] = -1;
- }
- }
- int validarDanio(int danio)
- {
- int flag = -1;
- if ((danio>=1)&&(danio<=15))
- {
- flag = 1;
- }
- return flag;
- }
- int ingresoDanio(int intento)
- {
- int danio = 0;
- printf("ingrese daƱo %d\n",intento+1);
- scanf("%d",&danio);
- return danio;
- }
- int validarDanioTotal(int arreglo[100],int validos)
- {
- int flag = -1;
- int suma = 0;
- int indice = 0;
- for (indice=0; indice<validos; indice++)
- {
- suma = suma + arreglo[indice];
- }
- if (suma >= 100)
- flag = 1;
- return flag ;
- }
- void mostrarArreglo(int arreglo[100],int validos)
- {
- int indice = 0;
- for (indice=0; indice<validos; indice++)
- {
- printf("[%d]",arreglo[indice]);
- }
- printf("\n");
- }
- void cargarPila(Pila * p,int cantidadDeIntentos)
- {
- apilar(p,cantidadDeIntentos);
- }
- void mostrarPilaManual(Pila p)
- {
- printf("Base -> ");
- while (!pilavacia(&p))
- {
- printf(" %d ",desapilar(&p));
- }
- printf("<- Tope ");
- printf("\n");
- }
- int mayorCantidadDeIntentos(Pila p)
- {
- int mayor = 0;
- int aux = 0;
- if (!pilavacia(&p))
- mayor = desapilar(&p);
- while (!pilavacia(&p))
- {
- aux = desapilar(&p);
- if (aux > mayor)
- {
- mayor = aux;
- }
- }
- return mayor;
- }
- int menorCantidadDeIntentos(Pila p)
- {
- int menor = 0;
- int aux = 0;
- if (!pilavacia(&p))
- menor = desapilar(&p);
- while (!pilavacia(&p))
- {
- aux = desapilar(&p);
- if (aux < menor)
- {
- menor = aux;
- }
- }
- return menor;
- }
- float calcularProm(int arreglo[100],int validos)
- {
- float prom = 0;
- int indice = 0;
- int suma = 0;
- for (indice = 0; indice<validos; indice++)
- {
- suma = suma + arreglo[indice];
- }
- prom = (float)suma/(float)validos;
- return prom;
- }
- int guardarProm(float prom, float a_promedios[100], int pos)
- {
- a_promedios[pos] = prom;
- return pos++;
- }
- void mostrarArregloFloat(float a_promedios[100],int validos)
- {
- int indice = 0;
- for (indice=0; indice<validos; indice++)
- {
- printf("[%f]",a_promedios[indice]);
- }
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment