Pages

Subscribe:

terça-feira, 2 de setembro de 2014

Anagrama em C

Meus caros, hoje passarei um pequeno exercício de C sobre anagrama. Anagrama é quando você pega uma palavra e com as letras dela você forma outras palavras. Ex: Palavra -> Roma .. Anagramas: Amor,Omar,Ramo e etc. O exercício esta bem explicado, porém, podem perguntar se não entenderem alguma coisa. Gostaria de mais algum código? Deixe nos comentários.

#include<conio.h>
#include<stdio.h>
#include<string.h>

main(){

int cont=0,i,j,tam1,tam2;   /*Declaração de variáveis inteiras*/
char palavra1[50],palavra2[50];  /*declaração das strings*/

printf("Digite a primeira palavra: ");
gets(palavra1);  /* Lendo a primeira palavra*/
printf("\nDigite a segunda palavra: ");
gets(palavra2);  /*Lendo a segunda palavra*/
tam1=strlen(palavra1);  /*Passando o tamanho da palavra1 para tam1*/
tam2=strlen(palavra2);  /*Passando o tamanho de palavra2 para tam2*/

if(tam1==tam2){   /*Verificando se o tamanho das palavras são iguais, senão elas não são anagramas*/
for(i=0;i<tam1;i++){   /*Verificando os caracteres da primeira string*/
for(j=0;j<tam2;j++){    /*Verificando os caracteres da segunda string*/
if(palavra1[i]==palavra2[j]){   /*Comparando se o caracter da palavra1 contém em palavra2*/
cont++;
palavra2[j]=0;     /*Se o caracter estiver contido em palavra2, cont soma 1, o caracter é trocado por um 0 e sai do for*/
break;
}
}
}
if(cont==tam1){  /*Se o cont for do tamanho da palavra1, quer dizer que sao anagramas*/
printf("As palavras são anagramas.");
}
else{
printf("Não são anagramas.");
}
}
else{
printf("Não são anagramas.");
}
return 0;
getch();
}



Bom proveito do código.

5 comentários :

Unknown disse...

código de numero vampiro, por favor, boa sorte!

Unknown disse...

Boa tarde gostaria muito de um código que me print todos os anagramas possíveis de uma string.

Unknow disse...
Este comentário foi removido pelo autor.
Unknow disse...

Caso alguém entre e queira também saber quantos anagramas e possiveis fazer com uma palavra vou deixar um exemplo, segue o exemplo abaixo:
#include
#include

main(){

int cont=0 ,tam1 = 0;
char palavra1[50];

printf("Digite a primeira palavra: ");
gets(palavra1);

tam1=strlen(palavra1);

for(cont = 1; tam1>1; tam1 = tam1-1){
cont =cont* tam1;
}
printf("o valor de anagrmas possiveis com essa palavra e: %d", cont);
}

// Duvidas chama no twitter: @mateusofix

Arthur Yan Merkle disse...

Como verificar se a string é um anagrama sem usar strlen?

Postar um comentário