Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Glaucco

Vetor Anagramas

Recommended Posts

Leia dois vetores de 4 posições. Verifique e escreva se um é anagrama de outro.

Ex: ARARA ARARA - são anagramas

 

Não entendi alguem pode me ajudar nessa questão que souber porsta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora entendi

 

A maior parte dos fãs de quebra-cabeças está habituado a lidar com anagramas, ou seja, grupos de palavras que usam o mesmo conjunto de letras, mas com uma ordem diferente (por exemplo, sacar, casar e caras são anagramas).

 

Uma classe de anagramas é um conjunto de duas ou mais palavras diferentes que usam exactamente as mesmas letras. Por exemplo, sacar, casar e caras formam uma classe de anagramas, e fio e foi formam outra classe de anagramas diferente.

casa saca agora entendi.

agora é fazer o vetor identificar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha cara acho que podia fazer assim: criar um terceiro vetor que vai ser a cópia do segundo vetor, então fazemos um for para cada letrinha do primeiro vetor, e vamos verificar se existe a mesma letra no terceiro vetor; se existir, retiramos a letra do terceiro vetor (podemos fazer algo simples como trocar por um '0' ou o que vier à mente), e continuamos nossa pesquisa; se não existir, retorna que vetor 1 e 2 não são anagramas; se chegar no final e achar todas as letras, então retorna que 1 e 2 são anagramas, tente assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não sei nem aonde começar tipo como vou criar 2 vetores de de quatro posicoes alguem pode fazer um exemplo pra aparecer ama luz. pra eu entender

Compartilhar este post


Link para o post
Compartilhar em outros sites

To tentando aqui mais não to conseguindo alguem pode me ajudar eu não sei fazer esse.

 

#include<stdio.h>

#include<stdlib.h>

#include <string.h>

int main ()

{

char str1[30];

 

char str2[30];

 

printf ("Programa que mostra se duas palavras sao ambigramas.\n\n");

 

printf("Digite a primeira palavra: ");

 

gets(str1);

 

printf ("Digite a segunda palavra : ");

 

gets(str2);

 

strrev(str2);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal consegui fazer até aqui e agora ta dando erro como resolver esse erro?

 

#include<stdio.h>

#include <stdlib.h>

#include <string.h>

 

main(){

char n1[4],n2[4];

int i,d,j,l,k,c[4];

 

printf("Digite a primeira palavra");

fflush(stdin);

gets(n1); //scanf

 

printf("Digite a segunda palavra");

fflush(stdin);

gets(n2);

 

for(i=0;i<4;++i)

{

for(j=0;j<4;++j)

{

if(n1==n2[j])

{

if(k==0)

{

c[k++]=j;

break;

}

else

for (i=0;l<k;++l)

if(c[l]==j)

break;

if(l==k)

c[k++]=j;

if(k==4)

printf("São Anagramas");

else

printf("não são anagramas");

system("pause");

}

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei te ajudar aki mas aconteceu um bug muito estranho, se alguém puder explicar...

 

Na hora de comparar os 2 vetores, a primeira posição do primeiro assume o valor de '\0' e não sei pq isso acontece, alguém sabe?

 

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

int main(){
  char n1[4];
  char n2[4];
  int i;
  int j;
  int k;

  printf("Digite a primeira palavra\n");
  fflush(stdin);
  gets(n1); //scanf

  printf("Digite a segunda palavra\n");
  fflush(stdin);
  gets(n2);

  for(i=0;i<4;++i)
  {
	for(j=0;j<4;++j)
	{
	  if(n1[i]==n2[j]){
		k++;
		i++;
		j = 0;
	  }
	  if(k==4)
		printf("são anagramas\n");
	}
  }
  if(k!=4)
	printf("não são anagramas\n");
  system("pause");
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.