Hola, gracias por entrar.
Tengo un problema, quiero utilizar una estructura en la funcion de ingresar atletas pero me dice que el tipo del argumento es invalido.
#include<stdio.h>
#define MAX_ATLETAS 10
typedef struct
{
char nombre[20];
int ti;
int tf;
int tt;
}atleta;
int validarNumero(int n);
void ingresarAtletas(atleta competencia, int n);
void ordenarAtletas(atleta competencia, int n);
int main(){
atleta competencia[MAX_ATLETAS];
int n;
printf("Competencia atletica\n"); printf("Ingrese el numero de atletas: "); if(validarNumero(n) == 'n'){
return -1;
}
ingresarAtletas(competencia, n);
ordenarAtletas(competencia, n);
//printf("Podio\n");
//imprimirAtletas(competencia, NUMERO_PODIO);
}
int validarNumero(int n){
if(n>10){
return 'n';
}else{
return 1;
}
}
void ingresarAtletas(atleta competencia, int n){
int i;
for(i=0;i<n;i++){
scanf("%[^\n]%*c",&competencia.
nombre[i
]); printf("Tiempo inicial[%d]",i
); scanf("%d",&competencia.
ti[i
]); scanf("%d",&competencia.
tf[i
]); }
}
void ordenarAtletas(atleta competencia, int n){
int t[],i,j,temp;
for(i=0;i<n;i++){
competencia.tt[i]=((competencia.tf[i])-(competencia.ti[i]);
}
for(i=0;i<n;i++){
t[i]=competencia.tt[i];
}
for(i=0;i<(n-1);i++){
for(j=(i+1),j<n,j++){
if(t[i]>t[j]){
temp=t[j];
t[j]=t[i];
t[i]=temp;
}
}
}
printf("Nombre\t T.inicial\t T.final\t T.final\n");
}
La función acepta un único altelta, en cambio tu le pasas un array entero.