Problema da palavra mágica (Jandson Nunes)

From AdonaiMedrado.Pro.Br
Revision as of 13:34, 29 April 2009 by 200.17.147.2 (Talk) (New page: <code lang="c"> #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...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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);
}