Problema da palavra mágica (Jandson Nunes)

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int compara (const void * a, const void * b);
 
int main (){
	char palavra[101], *subPalavra1, *subPalavra2;
	int tamSubPalavra;
 
	scanf("%s",palavra);
	tamSubPalavra = strlen(palavra) / 2;
	subPalavra1 = (char *) malloc (tamSubPalavra * sizeof(char));
	subPalavra2 = (char *) malloc (tamSubPalavra * sizeof(char));
 
	strncpy(subPalavra1, palavra, tamSubPalavra); //copiando a primeira metade da palavra.
	subPalavra2 = palavra + tamSubPalavra; //apontando para segunda metade da palavra.
 
	qsort(subPalavra1, tamSubPalavra, sizeof(char), compara); //ordenando a primeira metade da palavra.
 
	strcmp(subPalavra1, subPalavra2) == 0 ? printf("S\n") : printf("N\n"); //comparando a primeira metade ordenada com a segunda metade.
}
 
int compara (const void * a, const void * b){
	return strcmp(a, b);
}