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;
}
, pero esque el profesor me dijo que mejor sin estructuras aun así si no se me ocurre otra idea lo intentaré con estructuras de datos(era mi idea desde el principio xD).