Не считается среднеарифметическое - C (СИ)

Формулировка задачи:

#include <stdio.h>
#include<stdlib.h>
struct vershin
{
int data;
vershin *l, *r;
};
void add(vershin *&d, float x)
{
if(d == NULL)
{
d = new vershin;
d->data = x;
d->l = d->r = NULL;
} if(d->data > x) add(d->l,x);
if(d->data < x) add(d->r,x);
}
void PrintTree(vershin *d,int u)
{ if (d)
{ PrintTree(d->r,u+5);
for(int i=0; i<u; i++)
printf(" ");
printf("%d",d->data);
PrintTree(d->l,u+5);
}
}
void sredarif(vershin *&d, float &s)
{
int k = 0;
if(d!=NULL)
{ s+=d->data;
sredarif(d->l, s);
k++;
sredarif(d->r, s);
}
}
int count(vershin *d,int q)
{
if(d!=NULL)
{   q++;
    count(d->l,q);
    count(d->r,q);
        }
return q;
 
}
 int main()
{
vershin *tree = NULL;
float N , x, s = 0, sr/;
int h=0,q=0;
m1:
printf("Vvedite kolichestvo derevya = "); 
scanf("%f",&N);
 
for(int i = 1; i <= N; i++)
{
scanf("%f",&x); /*ввод элементов*/
add(tree,x);
}
 
sredarif(tree,s);
 
printf("summa:%f\n",s);
 h=count(tree,q);
sr = s/h;
printf("sred.znach:%f\n",sr);
PrintTree(tree,0);
goto m1;
 return 0;
}

Код к задаче: «Не считается среднеарифметическое - C (СИ)»

textual
goto m1;

12   голосов, оценка 4.667 из 5


СОХРАНИТЬ ССЫЛКУ