📄 arbore.cpp
字号:
#include<stdio.h>
#include<conio.h>
#include"ARBORE1.H"
int grad(Nod* x)
{
int grmaxim,gr,i;
if(x->grad==0) return 0;
else{
grmaxim=0;
for(i=0;i<x->grad;i++){
gr=grad(x->vDesc[i]);
if(gr>grmaxim)
grmaxim=gr;
}
if(grmaxim<x->grad) grmaxim=x->grad;
return grmaxim;
}
}
void afisterm(Nod* x)
{
int i;
if(x->grad==0) printf(" %d",x->data);
else
for(i=0;i<x->grad;i++)
afisterm(x->vDesc[i]);
}
int evaluare(Nod* x)
{
int y,i;
int vt[GRMAX];
if(x->grad==0) return x->data;
else{
for(i=0;i<x->grad;i++)
vt[i]=evaluare(x->vDesc[i]);
if(x->data=='+'){
y=0;
for(i=0;i<x->grad;i++)
y=y+vt[i];
return y;
}
y=1;
for(i=0;i<x->grad;i++)
y=y*vt[i];
return y;
}
}
void main()
{
Nod* p;
clrscr();
printf("\nIntroduceti o expresie matematica:");
p=creareArbore();
printf("\ngradul arborelui=%d",grad(p));
printf("\noperanzii:\n");
afisterm(p);
printf("\nvaloarea expresiei=%d",evaluare(p));
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -