Я хочу рассчитать среднее значение. Дерево имеет 4 информации: данные, число, левое и правое. Среднее значение для всех узлов = умножается на данные и число/общее число.Рассчитать среднее число в двоичном дереве поиска
struct node{
int number;
int data;
struct node *right;
struct node *left;
}
typedef struct node nod;
typedef struct node* nodePtr;
typedef struct node** nodePtrPtr;
int main(){
nodePtr a=NULL;
calAverage(&a);
}
void calAverage(nodePtrPtr tree){
{
nodePtr g;
double average, sum=0,num,n,s=0;
int k,z=0;
int l,w=0;
if(tree){
tree=g;
g->total_number_of_reviews=k;
g->scoreNumber=num;
sum+=(num*k);
z+=k;
}
if(tree->left){
calAverage(tree->left);
}
if(tree->right){
calAverage(tree->right);
}
average=((sum+s)/(z+w));
printf("%.1lf average ",average);}
Этот код не работает должным образом. Как вы думаете, я называю средний метод рекурсивно?
1) член 'справа узел структуры; struct node left; '->' * right', '* left' – BLUEPIXY
2)' nodePtr a; calAverage (&a); ':' a' не инициализируется. Его не присвоить значение. – BLUEPIXY
На самом деле я пишу их, но не делаю добавьте эту страницу. Но мой вопрос о методе calAverage -> это правда? @BLUEPIXY – elminaa