Buenas programadores, resulta que me da una violacion del segmento al intentar realizar una insercion directa, a traves de cadenas de caracteres, lo que me gustaria es poder ordenarlas a traves de su orden lexicografico..
Un saludo, y gracias de antemano.
PD: el problema me lo da a la hora de usar strcpy y no entiendo porque.
Un saludo, y gracias de antemano.
PD: el problema me lo da a la hora de usar strcpy y no entiendo porque.
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void insercion_directa( char *nombre[]){
int i,j;
char aux[20];
for(i=1;i<4;i++){
strcpy(aux, nombre[i]);
j=i;
while(strcmp(nombre[j-1],aux)>0 && j>0){
strcpy(nombre[j],nombre[j-1]);
j--;
}
strcpy(nombre[j],aux);
}
}
int main(){
char *nombre[20];
nombre[20]=(char*)calloc(4,sizeof(char));
nombre[0]="Alberto";
nombre[1]="Joseluis";
nombre[2]="Iván";
nombre[3]="Becan";
insercion_directa(nombre);
for(int i=0;i<4;i++) printf(" %s\n", nombre[i]);
//strcpy y strcmp
return 0;
}