
Anagramas
Publicado por Héctor (2 intervenciones) el 20/11/2016 19:43:45
Buenas, es mi primer año programando, tengo que realizar un programa que compruebe si dos apalabras son angramas. El único problema que encuentro es que no se como hacer que rconozca las vocales con tildes y sin tildes como iguales. Alguien que me explique como podría lograrlo?Gracias de antemano. Os dejo el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#define DIM 256
main()
{
setlocale (LC_ALL, "spanish");
char cadena1[DIM];
char cadena2[DIM];
int frec1,frec2;
int i;
//Inicializamos los vectores con 0s para evitar errores
for(i=0;i<DIM;i++)
{
cadena1[i]=0;
cadena2[i]=0;
}
//Peticion de datos
printf("Introduzca la primera palabra para determinar si es anagrama:\n");
fflush(stdin);
gets(cadena1);
printf("Introduzca la segunda palabra para determinar si es anagrama:\n");
fflush(stdin);
gets(cadena2);
for(i = 0; cadena1[i]; i++)
cadena1[i] = toupper(cadena1[i]); //<--convierte a mayusculas
for(i = 0; cadena2[i]; i++)
cadena2[i] = toupper(cadena2[i]); //<--convierte a mayusculas
//Para saber si tienen el mismo numero de caracteres, sumamos dichos caractares por su valor ascii
for(i=0,frec1=0,frec2=0;i<DIM;i++)
{
frec1=frec1+cadena1[i];
frec2=frec2+cadena2[i];
}
if(frec1==frec2)
printf("Las palabras introducidas son anagramas\n");
else
printf("Las palabras introducidas no son anagramas\n");
system("pause");
return 0;
}
Valora esta pregunta


0