I need to order the names in a file (alphabetically), I managed to put the names in an array and find the first name. However, Im having trouble in printing the rest of the names. Heres part of the code:
/*matriz1 and matriz2 are [150][45], alumnos is FILE *alumnos */
ThanksCode:memset(matriz1,'\0',sizeof(matriz1)); memset(matriz2,'\0',sizeof(matriz2)); while(fgets(buffer,255,alumnos)) { int len; len = strlen(buffer); if(buffer[len-1] == '\n') { buffer[--len] = 0; if(buffer[len-1] == '\r') buffer[--len] = 0; } if(!buffer[0] || buffer[0] == '#') continue; strncpy(matriz1[i], buffer, 45); matriz1[i][44]='\0'; // printf("\nI: %i, valor: %s", i, matriz1[i]); fflush(stdout); i++; } m=i; /* limit=str_search(matriz1[0],"#",1); memset(row,'\0',sizeof(row)); strncpy(row, matriz1[0], limit); row[limit-1]='\0'; */ for(j=0; j<=m; j++) { if(strlen(matriz1[j])<=1) continue; limit=str_search(matriz1[j],"#",1); memset(row,'\0',sizeof(row)); strncpy(row, matriz1[j], limit); row[limit-1]='\0'; for(i=0; i<=m; i++){ if(strlen(matriz1[i])<=1) continue; /* Matriz1[i] es menor que row */ if(strncmp(row,matriz1[i],limit-1)>0){ limit=str_search(matriz1[i],"#",1); memset(row,'\0',sizeof(row)); strncpy(row, matriz1[i], limit); } } printf("\n\nEl menor es : %s",row); strncpy(matriz2[index_matriz2], row, 45); matriz2[index_matriz2][44]='\0'; matriz1[i][0]='\0'; index_matriz2++; memset(matriz1[i],'\0', sizeof(matriz1[i])); for(aux=0; aux<150; aux++){ if(strlen(matriz1[aux])>1) limit=str_search(matriz1[aux],"#",1); memset(row,'\0',sizeof(row)); strncpy(row, matriz1[0], limit); row[limit-1]='\0'; break; } } printf("\n\nImprimiendo matriz 2\n"); for(i=0; i<=m; i++){ printf("\nI: %i; %s",i, matriz2[i]); fflush(stdout); }
[code][/code]tagged by Salem



LinkBack URL
About LinkBacks


