Cuvant

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

/* Cuvant | Nr. Aparitii [Tip.

Char] */

/* Afisare Alfabetica [Tehnica Fanionului] */

#include <stdio.h>

#include <alloc.h>

#include <conio.h>

#include <ctype.h>

#include <string.h>

struct NOD

char cheie[10];

int contor;

struct NOD *urm;

};

typedef struct NOD Tnod;

typedef Tnod* ref;

ref prim;

ref r, fanion;

char cuv[10];

void listare(void)

if(prim->urm == fanion)

printf("Lista este vida!\n");


else

r=prim->urm;

printf("\n\n");

while(r!=fanion)

printf("Cuvantul : %-10s \t | \t ", r->cheie);

printf("Nr. aparitii : %d \n", r->contor);

r=r->urm;

}/* Listare */

void cauta(char *X, ref *prim)

ref q1,q2;

strcpy(fanion->cheie, X);

q2=*prim;

q1=q2->urm;

while(strcmp(q1->cheie, X) <0)

q2=q1;

q1=q2->urm;

if( (strcmp(q1->cheie, X) ==0) && q1!=fanion)

q1->contor++;

else
{

r=(ref)malloc(sizeof(Tnod));

strcpy(r->cheie, X);

r->contor=1;

r->urm=q1;

q2->urm=r;

} /* Cauta */

void creare(void)

prim=(ref)malloc( sizeof(Tnod) );

fanion=(ref)malloc( sizeof(Tnod) );

fanion->urm=NULL;

prim->urm=fanion;

printf("Introdu primul cuvant : "); scanf("%s", cuv);

while(strcmp(cuv, "*") !=0)

cauta(cuv, &prim);

printf("Urmatorul cuvant : "); scanf("%s", cuv);

} /* Creare */

void main(void)

clrscr();

creare();
listare();

getch();

} /* MAIN */

You might also like