Programación General > C/C++
Ejercicio complicado
(1/1)
kingsizen:
hola gente del foro. estoy tratando de hacer un programa muy futbolero, se trata de ingresar nombres de equipos, partidos ganados, perdidos y empatados, y este calcule los puntos y me muestre la tabla de posiciones.
para esto decide no usar estructuras ya que todavia no llegue a ver este tema, por lo tanto lo estoy haciendo en base a arrays, ahi va el codigo:
--- Código: C --- # include <stdio.h> void carga(char n[4][20],int g[4],int e[4],int p[4]){ int i; for (i=0;i<4;++i) { printf ("Ingrese nombren"); scanf ("%s",&n[i]); printf ("Ingrese partidos ganadosn"); scanf ("%d",&g[i]); printf ("Ingrese partidos empatadosn"); scanf ("%d",&e[i]); printf ("Ingrese partidos perdidosn"); scanf ("%d",&p[i]); }} void calculo (int g[4],int e[4],int pts[4]){int i; for (i=0;i<4;++i) { pts[i] = (g[i]*3); pts[i]= pts[i]+e[i]; } } void tabla (char e[4][20],int pts[4]) { int i,j,aux,taux[4][20]; for (i=0;i<4;++i) for (j=0;j<4;++j) { if (pts[i] < pts[j]) { aux=pts[i]; taux[i][20]=e[i][20]; pts[i]=pts[j]; e[i][20]=e[j][20]; pts[j]=aux; e[j][20]=taux[i][20]; } } } main(){ char equipos [4][20]; int i,puntos[4],ganados[4],empatados[4],perdidos[4]; carga(equipos,ganados,empatados,perdidos); calculo(ganados,empatados,puntos); tabla(equipos,puntos); /*for (i=0;i<4;++i) { printf ("%s %d",equipos[i],puntos[i]); } } */ printf ("TABLA DE POSICIONESn"); printf ("-------------------n"); for (i=0;i<4;++i) { printf ("%s",equipos[i]); printf ("%d Puntos: n",puntos[i]); }}
las dudas sobre este programa son:
- al hacer el ordenamiento tambien intento que el nombre del equipo se ordene en la misma posicion (claro , en un arreglo diferente) que los puntos. pero... esta bien como lo hice??
-al mostrar la tabla de posiciones me devuelve cualquier cosa, cuales son los errores?
- y entrando en el tema... en que me beneficiaria usar estructuras para este ejercicio?
saludos. espero sus respuestas!
m0skit0:
--- Cita de: "kingsizen" ---intento que el nombre del equipo se ordene en la misma posicion
--- Fin de la cita ---
Yo que tú sólo ordenaría a la hora de imprimir o bien usaría otra estructura de datos más fácil de ordenar (una lista por ejemplo).
--- Cita de: "kingsizen" ----al mostrar la tabla de posiciones me devuelve cualquier cosa, cuales son los errores?
--- Fin de la cita ---
La función carga() la tienes mal definida:
--- Código: C ---void carga(char **n,int *g,int *e,int *p)
La llamas igual.
--- Cita de: "kingsizen" ---en que me beneficiaria usar estructuras para este ejercicio?
--- Fin de la cita ---
Podrías usar estructuras de datos más adecuadas a tu problema, ya que las puedes definir tú mismo. No tienes por qué conformarte con los vectores (que son rápidos pero muy rigidos).
Salud
Navegación
Ir a la versión completa