|
hola amigo gracias por el gran interes en tu respuesta...
bueno despues de unos largos intentos hemos logrado llevar el programa hasta donde
nos cuenta el total de las palabras diferentes sin embargo ,,,,hemos encontrado gran dificutad en el inorden de las de las primeras 20 palabras...
agrego el codigo el cual hemos realizado ,como tambien el archivo con el cual estamos
trabajando ...
aqui puedes descargar el archivo...
http://cid-96ee94613cf36780.skydrive.live.com/self.aspx/sOfwArE%202008-10-15/prueba.txt
aqui sta el codigo que hemos realizadoooooo...gracias a vuestra ayuda...y dale
en verdad me gustaria saber si me puedes ayudar a culminar el programa teniendo como
base mi codigo ...graciias por tu atencion.....
#include <alloc.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
struct nodo
{
struct nodo *izq, *der;
char *dato;
};
int cont=0;
struct nodo *crear(char s[30])
{
struct nodo *p;
p=(struct nodo *) malloc (sizeof(struct nodo));
p->izq=NULL;
p->der=NULL;
p->dato=s;
return (p);
}
void insertar(struct nodo *raiz, char s[30])
{
struct nodo *nuevo,*q,*p;
nuevo=crear(s);
q=NULL;
p=raiz;
while(p!=NULL && strcmp( p->dato,nuevo->dato)!=0)
{
q=p;
if(strcmp(p->dato,nuevo->dato)<0)
p=p->izq;
else
// if (strcmp(p->dato,nuevo->dato)<0)
p=p->der;
}
if(strcmp(p->dato,nuevo->dato)!=0)
if(strcmp(q->dato,nuevo->dato)>0)
q->izq=nuevo;
else
q->der=nuevo;
}
cargar()
{
struct nodo *raiz=NULL;
FILE *archivo;
char caracter[30],espa, tem[30];
int b=0;
archivo = fopen("c:\prueba.txt","r");
if (archivo == NULL)
{
printf("\nEl archivo no existe \n\n");
getch();
exit(1);
}
else
{
printf("\nEl contenido del archivo de prueba es \n\n");
while (feof(archivo) == 0)
{
espa=getc(archivo);
if (espa==' ')
{
printf("\n");
cont++;
}
else
{
printf("%c",espa);
}
b++;
// getch();
//llenar arbol binario
/*if (raiz==NULL)
{
raiz=crear(caracter);
}
else
{
insertar(raiz,caracter);
}*/
// printf("%c",caracter);
}
printf("\nEL NUMERO DE PALABRAS ES: %d",cont);
}
getch();
return 0;
}
void main()
{
//struct nodo *raiz=NULL;
char opc;
int dato,x,s;
do
{
clrscr();
gotoxy(27,8);printf("1. Cargar Archivos");
gotoxy(27,10);printf("2. Contar palabras");
gotoxy(27,12);printf("3. Mostrar palabras");
gotoxy(27,20);printf("4. Salir");
gotoxy(27,22);printf("opcion: []\b\b");
opc=getche();
switch(opc)
{
case '1':
clrscr();
cargar();
break;
case '2':
clrscr();
printf("EL NUMERO DE PALABRAS ES: %d",cont);
getch();
break;
case '3':
clrscr();
// orden(raiz);
getch();
break;
case '4': break;
default:
clrscr();
gotoxy(31,10);printf("La opcion no existe");
gotoxy(24,12);printf("presione una tecla para continuar...");
getch();
break;
}
}while(opc!='4');
}
|