MemDin: Ordenar 10 palabras con malloc

Ordena palabras malloc.html
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
	
	char **cadena; // Puntero a matriz de caracteres
	int i, j, n;
	char temp[20]; // vector donde se almacenará temporalmente cada palabra
	char *aux; // Puntero a un caracter
	
	printf("Introduzca 10 palabras:\n\n");
	cadena = malloc(10*sizeof(char*)); // reserva espacio para 10 palabras
	
	for(i=0; i<10; i++){
		printf("Ingrese palabra [%d]/10: ",i+1);
		scanf("%s",&temp);
		fflush(stdin);
		cadena[i] = malloc((strlen(temp)+1)*sizeof(char));
		strcpy(cadena[i],temp);
	}
	for(i=0; i<9; i++){
		for(j=i+1; j<10; j++){
			if(strcmp(cadena[i], cadena[j])>0){
				aux = cadena[i];
				cadena[i] = cadena[j];
				cadena[j] = aux;
			}
		}
	}
	printf("\n\nLa lista ordenada es:\n");
	for(i=0; i<10; i++){
		printf("%s \n",cadena[i]);
	}
	printf("\n");
	
	system("pause");
	return 0;
}

No hay comentarios:

Publicar un comentario