[PROBLEMA]Ejercicio en C de Vectores 1.3[Borland 5.02]

Iniciado por SonaArtica, 6 Noviembre 2012, 06:18 AM

0 Miembros y 1 Visitante están viendo este tema.

SonaArtica

Bueno este problema no me salio,si alguno puede detectar en que le erre le estaria muy agradecido,Saludos :-X
#include <stdio.h>
#include <conio.h>
/* De un curso de informatica, de 30 alumnos se tiene el D.N.I y las notas de dos parciales de cada
alumno.
      Determinar e imprimir el promedio de las notas y el legajo de cada alumno ordenado en forma
        decreciente por promedio. */
void intercambio(int *a,int *b){
                               int aux;
                               aux=*a;
                               *a=*b;
                               *b=aux;
}
void ordenar2(int i,float promedio[]){
                                   int a,j,hubocambio;
                                   a=0;
                                   do{
                                   hubocambio=1; //Señal o Bandera que indica si se realizo algun cambio
                                   for(j=1;j<i-a;j++)
                                    if(promedio[j-1]>promedio[j])
                                         { intercambio(&promedio[j-1],&promedio[j]);
                                            hubocambio=0;};
                                   a=a+1;
                                   }while(hubocambio==0);//Cierrde de Do-While
}

main(){
      int alumnos[30];
      int dni[30];
      float nota1[30];
      float nota2[30];
      float promedio[30];
      int i;
      for(i=0;i<30;i++){
                       printf("Ingrese Legajo y D.N.I del alumno \n",alumnos[i],dni[i]);
                       fflush(stdin);
                       scanf(" %d%d",&alumnos[i],&dni[i]);
                       printf("Ingrese la primera y la segunda nota de los parciales \n");
                       fflush(stdin);
                       scanf(" %f%f",&nota1[i],&nota2[i]);
                       promedio[i]=(nota1[i]+nota2[i])/2;
      }
      //Imprimir en forma decreciente los promedios de cada alumno
getch();
return 0;
}
<z

HRSLASH

Hola SonaArtica! un consejo, en lugar de usar 5 vectores para mantener los datos de los alumnos, seria mejor usar una estructura y desp hacer un vector con ellas.

Ej

struct alumno{
    char nombre[20];
    long dni;
    double nota1;
    double nota2;
    double promedio;
};

int main(void)
{
    struct alumno alumnos[30];

    //sentencias

    return 0;
}

Tmb puede hacerse de forma dinamica, eso depende de cada uno..

Saludos!
La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer