Hola de nuevo, si vangodp entendí,gracias. Estuve buscando en un libro, intente hacer un ejercicio y nada no me sale ordenar, pero creo que algo entendí el concepto. Yo intento explicar para no transcribir todo el ejercicio. Lo que intenté fue esto:
Código C:
Ver original#include<stdio.h>
#define MAX 3
struct DATOS{
char nombre[30];
int nota;
};
void ingreso(struct DATOS [], int );
void mostrar(struct DATOS [], int );
//void ordenar(* [], int L);
void main(){
struct DATOS vec[MAX], *punt[MAX],*paux;
int i,k;
ingreso(vec,MAX);
//inicializacio0n de punteros
for(i=0;i<MAX;i++){
punt[i]=&vec[i];
}
//ordenamiento
for(i=0;i<MAX;i++){
for(k=0;k<MAX-i-1;k++){
if(punt[k]->nota < punt[k+1]->nota){
paux=punt[k];
punt[k]=punt[k+1];
punt[k+1]=paux;
}
}
}
mostrar(vec,MAX);
}
void ingreso(struct DATOS v[], int L){
int i;
for(i=0;i<L;i++){
}
}
void mostrar(struct DATOS v[], int L){
int i;
for(i=0;i<L;i++){
printf("\nNombre: %s",v
[i
].
nombre); printf("\nNota: %d",v
[i
].
nota);
}
}
Pero no ordena, puede ser por algo mal en el vector de punteros? O sea, ordenar normalmente puedo, pero esto de los punteros no lo asimilo todavía.
Ahh tambien me gustaría poder ordenar con una funcion, pero ni me salió!!!