Advertisement
Guest User

Anagram

a guest
Jun 28th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. program anagram;
  2. var input : array[1..2] of string;
  3. output : array[1..2] of string;
  4. i, a, b: integer;
  5.  
  6. procedure Turnlowercase(inp:string; var output:string);
  7. begin
  8. output := LowerCase(inp);
  9. end;
  10.  
  11. procedure Cleanstring(inp:string; var output:string);
  12. begin
  13. a := length(inp);
  14. for i := 1 to a do
  15. begin
  16. if(inp[i]>='a')and(inp[i]<='z') then
  17. output := concat(output,inp);
  18. end;
  19. end;
  20.  
  21. procedure CheckAnagram;
  22. var check : Boolean;
  23. temp : char;
  24. begin
  25. if length(output[1]) = length(output[2]) then
  26. begin
  27. for a := 1 to 2 do
  28. for i := 1 to length(output[a]) do
  29. begin
  30. if output[a][i]<output[a][i+1] then
  31. temp := output[a][i];
  32. output[a][i] := output[a][i+1];
  33. output[a][i+1] := temp;
  34. end;
  35.  
  36. for a := 1 to length(output[1]) do
  37. begin
  38. check := true;
  39. for b := 1 to length(output[2]) do
  40. begin
  41. if not (output[1][a] = output[2][b]) then
  42. check := false;
  43. end;
  44. end;
  45.  
  46. if check then
  47. writeln(input[1],' and ',input[2],' are anagram.');
  48. if not check then
  49. writeln(input[1],' and ',input[2],' are not anagram.');
  50. end;
  51.  
  52. if not length(input[1]) = length(input[2]) then
  53. writeln(input[1],' and ',input[2],' are not anagram.');
  54. end;
  55.  
  56. begin
  57. for i := 1 to 2 do
  58. begin
  59. write('Enter one word:');
  60. readln(input[i]);
  61. end;
  62.  
  63. for i := 1 to 2 do
  64. begin
  65. Turnlowercase(input[i],output[i]);
  66. CleanString(output[i],output[i]);
  67. CheckAnagram;
  68. end;
  69.  
  70. readln();
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement