|
код хаффмана
|
|||
---|---|---|---|
#18+
помогите исправит код программы, пожалуйста) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class TreeCompare : IComparer<KeyValuePair<string, int>> { public int Compare(KeyValuePair<string, int> kvp1, KeyValuePair<string, int> kvp2) { return kvp1.Value.CompareTo(kvp2.Value); } } class HaffmanTree { private List<KeyValuePair<string, int>> tree; private List<KeyValuePair<string, bool>> listOfFreeNodes; public HaffmanTree(char[] arraOfFrequency, int[] countOfFrequency) { string[] strArrayOfFrequency = new string[arraOfFrequency.Length]; for (int i = 0; i < strArrayOfFrequency.Length; i++) { strArrayOfFrequency[i] = Convert.ToString(arraOfFrequency[i]); } tree = new List<KeyValuePair<string, int>>(); for (int i = 0; i < arraOfFrequency.Length; i++) { tree.Insert(i, new KeyValuePair<string, int>(strArrayOfFrequency[i], countOfFrequency[i])); } listOfFreeNodes = new List<KeyValuePair<string, bool>>(); } private void BuildListOfFreeNodes() { foreach (KeyValuePair<string, int> node in tree) { listOfFreeNodes.Add(new KeyValuePair<string, bool>(node.Key, true)); } } private bool IsFreeElement(string key) { return listOfFreeNodes.Any(node => key == node.Key && node.Value == true); } public void BuildTree() { IComparer<KeyValuePair<string, int>> comparer = new TreeCompare(); tree.Sort(comparer); BuildListOfFreeNodes(); int countTrueValue = 0; while (countTrueValue != 1) { int indMin1 = 0, indMin2 = 0; int min1 = int.MaxValue, min2 = int.MaxValue; string keyMin1 = string.Empty; string keyMin2 = string.Empty; foreach (KeyValuePair<string, int> kvp in tree.Where(kvp => kvp.Value < min1 && IsFreeElement(kvp.Key))) { keyMin1 = kvp.Key; indMin1 = tree.IndexOf(kvp); min1 = kvp.Value; listOfFreeNodes[indMin1] = new KeyValuePair<string, bool>(keyMin1, false); foreach (KeyValuePair<string, int> kvp2 in tree.Where(kvp2 => kvp2.Value < min2 && (kvp2.Value == min1 || kvp2.Value > min1) && kvp2.Key != keyMin1 && IsFreeElement(kvp2.Key))) { indMin2 = tree.IndexOf(kvp2); min2 = kvp2.Value; keyMin2 = kvp2.Key; } listOfFreeNodes[indMin2] = new KeyValuePair<string, bool>(keyMin2, false); } string result = keyMin1 + keyMin2; tree.Add(new KeyValuePair<string, int>(result, min1 + min2)); listOfFreeNodes.Add(new KeyValuePair<string, bool>(result, true)); countTrueValue = listOfFreeNodes.Count(kvp => kvp.Value == true); } } public void ShowHaffmanTree() { Console.WriteLine("Tree"); foreach (KeyValuePair<string, int> node in tree) { Console.WriteLine("{0} {1}", node.Key, node.Value); } Console.WriteLine(); Console.WriteLine("List of free nodes"); foreach (KeyValuePair<string, bool> node in listOfFreeNodes) { Console.WriteLine("{0} {1}", node.Key, node.Value); } } } } при отладке выдает ошибку:ошибка CS5001: Программа "C:\Users\SA\Desktop\4 семестр\ConsoleApplication1\ConsoleApplication1\obj\x86\Debug\ConsoleApplication1.exe" не содержит статического метода "Main", подходящего для точки входа ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 18:48 |
|
код хаффмана
|
|||
---|---|---|---|
#18+
unker, Код: c# 1.
Нельзя компилить в эту папку, ошибка компилятора известная. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 20:35 |
|
код хаффмана
|
|||
---|---|---|---|
#18+
unker, да и из под SA (System Administrator) работать моветон... А кстати, куда из скопипасченного кусочка функция main подевалась? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 21:22 |
|
код хаффмана
|
|||
---|---|---|---|
#18+
Alex Kuznetsov, ее там и не было ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 23:08 |
|
код хаффмана
|
|||
---|---|---|---|
#18+
Pallaris, смена папки сохранения ничего не дает ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 23:08 |
|
код хаффмана
|
|||
---|---|---|---|
#18+
unker, у тебя не хватало точки входа в программу держи Код: c# 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 19:22 |
|
|
start [/forum/topic.php?fid=20&msg=38468099&tid=1403668]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 476ms |
0 / 0 |