Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstring>
- using namespace std;
- ifstream in ("date.in");
- ofstream out ("date.out");
- struct nod
- {
- int frecv=1;
- char info[100];
- nod *st, *dr;
- };
- int maxf, minf=99;
- void adauga(nod *&r, char cuv[100])
- {
- if(!r)
- {
- r=new nod;
- strcpy(r->info, cuv);
- r->st=0;
- r->dr=0;
- }
- else if(strcmp(cuv,r->info)<0) adauga(r->st,cuv);
- else if(strcmp(cuv,r->info)>0) adauga(r->dr,cuv);
- else
- {
- r->frecv++;
- if(r->frecv>maxf) maxf=r->frecv;
- if(r->frecv<minf) minf=r->frecv;
- }
- }
- void SRD(nod *r)
- {
- if(r->st) SRD(r->st);
- if(r->frecv==maxf)
- cout<<r->info<<" ";
- if(r->dr) SRD(r->dr);
- }
- void SRD2(nod *r)
- {
- if(r->st) SRD2(r->st);
- cout<<r->info<<" ";
- if(r->dr) SRD2(r->dr);
- }
- int main()
- {
- nod *r=NULL;
- char text[100];
- in.getline(text,99);
- char *aux=strtok(text," ,.-");
- while (aux != NULL)
- {
- adauga(r,aux);
- aux = strtok (NULL," ,.-");
- }
- cout<<"Frecventa max: ";
- SRD(r);
- cout<<endl<<"Frecventa min: ";
- if(minf==99) minf=1;
- maxf=minf;
- SRD(r);
- cout<<endl<<"Ordine crescatoare: ";
- SRD2(r);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement