Sie sind auf Seite 1von 3

/* Cuvant | Nr. Aparitii [Tip.

Char] */

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

struct NOD
{
char cuvant[11];
int contor;
struct NOD *urm;
};
typedef struct NOD Tnod;
typedef Tnod* ref;

char cuv[11];
ref prim;
ref r;

void cauta(char cuv[], ref *prim)


{
int b=0;
r=*prim;
while(b==0 && r!=NULL)
if( stricmp(r->cuvant, cuv) ==0)
b=1;
else r=r->urm;

if(b==1)
r->contor=r->contor+1;
else
{
r=(ref)malloc( sizeof(Tnod) );
strcpy(r->cuvant, cuv);
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 : %s \t | \t ", r->cuvant);
printf("Nr. aparitii : %d \n", r->contor);
r=r->urm;
}
}
}/* Listare */

void main(void)
{
clrscr();
prim=NULL;
printf("Introduceti primul cuvant : "); scanf("%s", cuv);
while(strcmp(cuv,"0") !=0)
{
cauta(cuv, &prim);
printf("Urmatorul cuvant : "); scanf("%s", cuv);
}
listare();
getch();
} /* MAIN */

Das könnte Ihnen auch gefallen