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: ");
scanf("%d", &n);
if(validarNumero(n) == 'n'){
printf("Numero invalido!");
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++){
printf("Nombre[%d]:",i);
scanf("%[^\n]%*c",&competencia.nombre[i]);
printf("Tiempo inicial[%d]",i);
scanf("%d",&competencia.ti[i]);
printf("Tiempo final[%d]",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("Podio\n");
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.