Вот собственно код:
#include <iostream.h>
#include <cstddef.h>
struct TreeNode {
int key;
TreeNode *pLeft;
TreeNode *pRight;
}
void AddTree(TreeNode, int); //- Здесь 2 ошибки: " E2176 Too many types in declaration at line 10 " и еще одна " E2111 Type 'TreeNode' may not be defined here at line 10"
void SumTree(TreeNode);
void DeleteTree(TreeNode);
void main()
{
TreeNode *pElTree=NULL;
int ElTreeKey;
for (ElTreeKey=0; ElTreeKey<10; ElTreeKey++)
{
cout << "Vvedite " << ElTreeKey+1 << "-y elment dereva:\n";
cin >> ElTreeKey;
AddTree(*pElTree, ElTreeKey);
}
SumTree(*pElTree);
DeleteTree(*pElTree);
}
void AddTree(TreeNode *pElTree, int key)
{
if (pElTree==0)
{
pElTree = new TreeNode;
pElTree->key=key;
pElTree->pLeft=NULL;
pElTree->pRight=NULL;
}
else if (key==pElTree->key)
cout << "Oshibka! Takoi element uge est'!\n";
else if (key<pElTree->key)
AddTree(pElTree->pLeft, key);
else
AddTree(pElTree->pRight, key);
}
void SumTree(TreeNode *pElTree)
{
int sumtree=0;
if(pElTree!=0)
{
sumtree += pElTree->key;
SumTree(pElTree->pLeft);
SumTree(pElTree->pRight);
}
cout << "Summa elementov dereva: " << sumtree << endl;
}
void DeleteTree(TreeNode *pElTree)
{
if (pElTree!=0)
{
DeleteTree(pElTree->pLeft);
DeleteTree(pElTree->pRight);
delete pElTree;
}
}
что я не так сделал? Прога по идее должна высчитывать сумму элементов бинарного дерева...
Примечание:
поставил после struct ; теперь выдало что-то вообще ужасное:
Error: Unresolved external 'AddTree(TreeNode, int)' referenced from C:\USERS\АНТОН\CBPROJECT\PROJECT_1\WINDOWS\DEBUG_BUILD\FILE1.OBJ
Error: Unresolved external 'SumTree(TreeNode)' referenced from C:\USERS\АНТОН\CBPROJECT\PROJECT_1\WINDOWS\DEBUG_BUILD\FILE1.OBJ
Error: Unresolved external 'DeleteTree(TreeNode)' referenced from C:\USERS\АНТОН\CBPROJECT\PROJECT_1\WINDOWS\DEBUG_BUILD\FILE1.OBJ
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.