You are on page 1of 2

/* Cuvant | Nr. Aparitii [Tip.

Intreg] */

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

struct NOD
{
int cheie;
int contor;
struct NOD* urm;
};
typedef struct NOD Tnod;
typedef Tnod* ref;

int cuv;
ref prim;
ref r;

void cauta(int X ,ref *prim)


{
int b=0;
r=*prim;
while(b==0 && r!=NULL)
if(r->cheie == X)
b=1;
else r=r->urm;
if(b==1)
r->contor=r->contor+1;
else
{
r=(ref)malloc( sizeof(Tnod) );
r->cheie=X;
r->contor=1;
r->urm=*prim;
*prim=r;
}
}/* Cauta */

void listare(void)
{
if(prim==NULL)
printf("ERROR. Lista este vida!! \n ");
else
{
printf("\n\tCuvinte distincte si numar aparitii : \n\n");
r=prim;
while(r != NULL)
{
printf("Cuvant : %d \t | \t ", r->cheie);
printf("Nr. aparitii : %d \n", r->contor);
r=r->urm;
}
}
}/* Listare */
void main(void)
{
clrscr();
prim=NULL;
printf("\tIntroduceti primul cuvant : "); scanf("%d", &cuv);
while(cuv != 0)
{
cauta(cuv, &prim);
printf("Urmatorul cuvant : "); scanf("%d",&cuv);
}
listare();
getch();
} /* MAIN */

You might also like