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",¬a1[i],¬a2[i]);
promedio[i]=(nota1[i]+nota2[i])/2;
}
//Imprimir en forma decreciente los promedios de cada alumno
getch();
return 0;
}
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!