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

[0] Índice de Mensajes

Ir a la versión completa