Автор Тема: Обяснение на задача написана на С++  (Прочетена 11044 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Обяснение на задача написана на С++
« -: 13 Януари 2011, 23:40:39 »
Имам решението на задачата трябва ми обяснение на кода
кой ред какво означава това ме интересува Моля ако знаете помогнете ми трябва ми до 16.01.2011

Задание :

Да се разработи програма, която създава и поддържа честотен речник с думи. речникът да се реализира чрез двоично дърво на търсене с ключ - съответната дума. честотата представлява броя срещания на думата в зададен текст.
програмата трябва да дава възможност на потребителя да:
- добавя нова дума в речника (с начална стойност на брояча за честота 0)
- изтрива дума от речника
- проверява (търси) в речника правописа на думите от зададен текст и актуализира брояча на честотата или извежда подходящо съобщение при сгрешена дума (неоткрита в речника)
-извежда на екрана думите, започващи със зададен низ
- извежда речника на екрана


Код:

Код: C++
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <iterator>
  5.  
  6. using namespace std;
  7.  
  8. struct tree_node //deklarirane na darvoto
  9. {
  10. tree_node* left;
  11. tree_node* right;
  12. string info;
  13. int counter;
  14. };
  15. tree_node* root;
  16. tree_node * T;
  17.  
  18.  
  19. void dobaviane(string key, tree_node *ij ) // realizirame dobaviane chrez rekursiq. ako nqma koren // se realizira dolnata funkciq – tam dobavqme koren
  20. {
  21. if(key< ij->info)
  22. {
  23. if(ij->left!=NULL)
  24. dobaviane(key, ij->left); //tuk ima rekursiq nalqvo
  25. else
  26. {
  27. ij->left=new tree_node;
  28. ij->left->info=key;
  29. ij->left->counter=0;
  30. ij->left->left=NULL;
  31. ij->left->right=NULL;
  32. }
  33. }
  34. else if(key>=ij->info)
  35. {
  36. if(ij->right!=NULL)
  37. dobaviane(key, ij->right); // tuk ima rekursiq nadqsno
  38. else
  39. {
  40. ij->right=new tree_node;
  41. ij->right->info=key;
  42. ij->right->counter=0;
  43. ij->right->left=NULL;
  44. ij->right->right=NULL;
  45. }
  46. }
  47. }
  48.  
  49.  
  50.  
  51.  
  52. void dobaviane(string key) // dobavqne na koren ako nqma nalichen. Ako ima se izpulnqva gornata funkciq
  53.  
  54. {
  55. if(root!=NULL)
  56. {
  57. dobaviane(key, root);
  58. }
  59. else
  60. {
  61. root=new tree_node;
  62. root->info=key;
  63. root->counter=0;
  64. root->left=NULL;
  65. root->right=NULL;
  66. }
  67. }
  68.  
  69.  
  70.  
  71.  
  72. void print (string key, tree_node* p) // printira vsichki dumi zapochvashti s niz ‘key’
  73. {
  74. if (p != NULL)
  75. {
  76. print(key, p->left);
  77. size_t found;
  78. found=p->info.find(key);
  79. if (found!=string::npos)
  80. {
  81. cout << p->info; cout << " \n"; //printiranena dumite otgovarqshti na iziskvaniqta
  82. }
  83. print(key, p->right);
  84. }
  85. else return;
  86. }
  87.  
  88. void print(string key)
  89. {
  90. print(key, root) ;
  91. }
  92.  
  93.  
  94.  
  95. void remove(string d, tree_node* &p) //tazi funkciq e prepisana direktno ot metodi4kite
  96. //sluji za premahwane, kato pyrvo e realizirana maxde,l za da ostane podredeno durvoto
  97. {
  98. void maxdel(tree_node* &T)
  99. {
  100. if (T->right!=NULL) maxdel(T->right);
  101. else {
  102. root->info=T->info;
  103. T=T->left;
  104. }
  105. }
  106. {
  107. if (p!=NULL)
  108. if (d<p->info) remove(d,p->left);
  109. else if (d>p->info) remove(d,p->right);
  110. else
  111. if (p->left==NULL) p=p->right;
  112. else if (p->right=NULL) p=p->left;
  113. else maxdel(p->left);
  114. }
« Последна редакция: 14 Януари 2011, 13:08:17 от echeveria »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Обяснение на задача написана на С++
« Отговор #1 -: 13 Януари 2011, 23:48:32 »
Тва без ползване на база данни ли?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Re: Обяснение на задача написана на С++
« Отговор #2 -: 14 Януари 2011, 00:47:57 »
ами не съм сигурна
каква имаш предвид
интересува ме кода какво означава
пимерно това     ij->left=new tree_node; какво е значението какво прави
« Последна редакция: 14 Януари 2011, 10:47:59 от delqnka »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Обяснение на задача написана на С++
« Отговор #3 -: 14 Януари 2011, 08:38:34 »
С моите слаби познания по С++ изобщо не мога да разбера какво е  "ij"
Това нещо изобщо работи ли, като го компилираш?
И си оправи темата на български, че заминава в кошчето!
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Re: Обяснение на задача написана на С++
« Отговор #4 -: 14 Януари 2011, 10:48:29 »
да програмата си работи трябва ми само значението на кода

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Обяснение на задача написана на С++
« Отговор #5 -: 14 Януари 2011, 13:07:13 »
Ако е само това ок :)
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Re: Обяснение на задача написана на С++
« Отговор #6 -: 14 Януари 2011, 14:49:18 »
Можеш ли да ми помогнеш трябва ми значението на кода кой ред какво означана само това МОЛЯ ПОМОГНЕТЕ МИ!

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Обяснение на задача написана на С++
« Отговор #7 -: 14 Януари 2011, 16:59:13 »
Довечера ако си намеря комп и друг не е отговорил ще видим кое какво?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Re: Обяснение на задача написана на С++
« Отговор #8 -: 14 Януари 2011, 17:15:30 »
много ще съм ти благодарна за помощта която ще ми укажеш  :)

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Обяснение на задача написана на С++
« Отговор #9 -: 14 Януари 2011, 17:25:04 »
Ако не е тайна това за къде е?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Re: Обяснение на задача написана на С++
« Отговор #10 -: 14 Януари 2011, 19:39:10 »
ами трябва в понеделник 17.01.2011 г. трябва да обясня кода на госпожата си

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Обяснение на задача написана на С++
« Отговор #11 -: 14 Януари 2011, 19:52:31 »
ама кое е даскалото? Аз са сега нямам комп ама надявам се да се добера до такъв.
Поне кажи знаеш ли какво е структура, типове данни, иф елс ала бала?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

intel

  • Гост
Re: Обяснение на задача написана на С++
« Отговор #12 -: 14 Януари 2011, 20:48:35 »
ij Е стандартно означение на матрица - ако си внимавал в часовете щеше да го знаеш.

Пример:

Стандартно означение на двумерна матрица: Аij = ... Просто са го написали така за краткост.
По отношение на задачата, не мога да се наема да отговоря.

P.S: И това е задача от университет, а не от даскало...
P.S2: Подсказка - На първо време като го погледнах по диагонал отгоре, отгоре, ми прилича на код за сортиране на стрингове.
« Последна редакция: 14 Януари 2011, 20:52:59 от intel »

delqnka

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 16
Re: Обяснение на задача написана на С++
« Отговор #13 -: 14 Януари 2011, 21:15:56 »
да задачата е за университет гледах от една книга и я направих ама не знам кое какво означава
трябва ми значението на кода

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: Обяснение на задача написана на С++
« Отговор #14 -: 14 Януари 2011, 22:09:35 »
Така и не разбрахме какви са ти познанията по езика. Мене ме скъсаха оня ден на тоя изпит, ама все пак имам някакви елементарни познания, мога да се опитам да ударя едно рамо.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!