Advertisement
minusa71

Task3/Write a program that compares two char arrays lexicogr

Jan 12th, 2013
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.06 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. //Task3:
  6. //Write a program that compares two char arrays lexicographically (letter by letter).
  7.  
  8.  
  9. namespace Task3CharArrays
  10. {
  11. class CharArrays
  12. {
  13. static void Main(string[] args)
  14. {
  15. try
  16. {
  17. Console.Write("Enter the lenght of first array: ");
  18. int n = int.Parse(Console.ReadLine());
  19. Console.Write("Enter the lenght of second array: ");
  20. int m = int.Parse(Console.ReadLine());
  21. char[] array1 = new char[n];
  22. char[] array2 = new char[m];
  23. Console.WriteLine("Enter the letters of first array: ");
  24. for (int elem1 = 0; elem1 < n; elem1++) //enter first array
  25. {
  26. Console.Write("array1[{0}]= ", elem1);
  27. array1[elem1] = char.Parse(Console.ReadLine());
  28.  
  29. }
  30. Console.WriteLine("Enter the letters of second array: ");
  31. for (int elem2 = 0; elem2 < m; elem2++) //enter second array
  32. {
  33. Console.Write("array2[{0}]= ", elem2);
  34. array2[elem2] = char.Parse(Console.ReadLine());
  35. }
  36.  
  37. int length = Math.Min(m, n);
  38. char[] first = new char[length]; //define first and second arrays for sort
  39. char[] second = new char[length];
  40. bool equal = false;
  41. do
  42. {
  43. for (int i = 0; i < length; i++)
  44. {
  45. if ((int)array1[i] == (int)array2[i]) //compere the elements of arrays
  46. {
  47. equal = true;
  48. if ((i == length - 1) && (equal == true))
  49. {
  50. equal = false;
  51. if (m == n)
  52. {
  53. Console.WriteLine("Arrays are equal"); //all compeared element are equal
  54. }
  55. else if (m > n) //all compeared elements are equal but one array is shorter
  56. {
  57. first = array1;
  58. second = array2;
  59. }
  60. else if (m < n)
  61. {
  62. first = array2;
  63. second = array1;
  64. }
  65. }
  66.  
  67. }
  68. else if (((int)array1[i] < (int)array2[i]))
  69. {
  70. first = array1;
  71. second = array2;
  72. equal = false;
  73. break;
  74.  
  75. }
  76. else if (((int)array1[i] > (int)array2[i]))
  77. {
  78. first = array2;
  79. second = array1;
  80. equal = false;
  81. break;
  82. }
  83.  
  84. }
  85. }
  86. while (equal == true);
  87. Console.WriteLine("Lexicographically Sorted:"); //sorted arrays lexicographically
  88. Console.Write("1. ");
  89. foreach (char element in first)
  90. {
  91. Console.Write(element);
  92. }
  93. Console.WriteLine();
  94. Console.Write("2. ");
  95. foreach (char element in second)
  96. {
  97. Console.Write(element);
  98. }
  99. Console.WriteLine();
  100.  
  101.  
  102.  
  103.  
  104. }
  105. catch
  106. {
  107. Console.WriteLine("Enter incorrect data!");
  108. }
  109. }
  110.  
  111.  
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement