include <stdio.h>
include <string.h>

define max 60000

struct nowa{
float kwota;
char nazwisko[10];
}o[max];

void insert_sort( char adr, int lb_str){
int kmax;
int i,j;
char *temp[11];

for(i=1; i<lb_str-1; i++){

   kmax=i;
   for(j=i+1; j<lb_str; j++)
       if(strcmp(adr[kmax],adr[j])>0)kmax=j;
   temp=adr[kmax];
   adr[kmax]=adr[i];
   adr[i]=temp;
  

}

}

int main(){
int r;
int i,j,z,n,k,m;
float temp_value;
char temp[201];
float w,p;
int g,v;
char current;

scanf("%d", &z);// liczba zapytań
while(z--){
    scanf("%d %f", &n,&p);// n-liczba transakcji, p-dolna granica przedziału który chcemy wyświetlić

    for(i=0;i<n;i++){
         scanf("%s %f", &o[i].nazwisko,&o[i].kwota);
         
    }

    insert_sort(o[i].nazwisko,n);   
    
    w=o[0].kwota;

for(i=0;i<n-1;i++){      

    if(strcmp(o[i].nazwisko,o[i+1].nazwisko)==0){
       w=w+o[i+1].kwota;      
    }
    else{

            if(w >= p){
            printf("%s %f\n", o[i].nazwisko, w);
            }
    w=o[i+1].kwota;
    }

}

printf("%s %f\n", o[n-1].nazwisko, w);


          
        
                     

}
return 0;
}

witam, mam problem z algorytmem insertion sort, mógłby ktoś zerknąć i podpowiedzieć co powinienem w nim zmienić by obsługiwał struktury poprawnie?