border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 09-09-2007, 21:42:41
Un Nuevo Amigo
 
Registrado: dic 2006
Ubicación: sonora
Posts: 7
toloza Valoración +2
Predeterminado posicion de la cadena

saludos amigos..
tengo un problemilla con mi programa la cual necesito encontrar la coordenada en al que se encuentra una cadena en un archivo...
por ejemplo

juan es estudiante de medicina
pedro no hace nada

juan esta en la posicion (renglon 1, columna 1)
estudiante en la posicion (renglon 1, columna 9)

y asi respectivamente con cada renglon..

este es mi codigo.. les agradesco su ayuda..
Código:
#include <stdio.h>
#include <string.h>
#include <conio.h>


char renglon[80];
   char palabras[100][80]; /* Todos los palabras */
   char palabras_diferentes[100][80]; /* Solo palabras diferentes */
   int i, j, k, total=0 /* Numero total de palabras*/,
   diferentes=0 /* Numero de palabras diferentes */;
   int Rep[100]; /* Repeticiones de cada palabra diferente */

void separador(char *renglon, char palabras[100][80], int *total);
void ocurrencias(char *nombre_archivo);
void coordenadas();

int main()
{
    char nombre_archivo[100] = "palabras.txt";

    clrscr();
	
    ocurrencias(nombre_archivo);
	coordenadas();
    getch();

    return 0;
}


/*
   Recibe una cadena y devuelve las palabras de dicha cadena.
   Los espacios y saltos de linea son los separadores entre palabras.
*/
void separador(char renglon[80], char palabras[100][80], int *total)
{
   int i, j=0;

   for(i=0; i<strlen(renglon); i++)
   {
       /* Si es un caracter distinto de espacio y salto de linea */
       if(renglon[i]!=' ' && renglon[i]!='\n')
       {
	  palabras[*total][j] = renglon[i];
	  j++;
       }
       /* Si es espacio o salto de linea */
       else if(renglon[i]==' ' || renglon[i]=='\n')
       {
	  /* Si el caracter anterior no es espacio ni salto de linea */
	  if(i>0 && renglon[i-1]!=' ' && renglon[i-1]!='\n')
	  {
	     palabras[*total][j] = '\0'; /* Indica fin de palabra */
	     *total = *total+1; /* Aumenta el numero de palabras */
	     j=0;
	  }
       }
   }
}


void ocurrencias(char nombre_archivo[100])
{
   
   FILE *archivo;

   archivo=fopen(nombre_archivo,"r");

   if(archivo==NULL)
   {
      printf("No se encuentra archivo: %s\n", nombre_archivo);
      return ;
   }
   /* Lee el archivo linea a linea y obtiene las palabras de esa linea */
   
   while(fgets(renglon,80,archivo))
   {
   
       separador(renglon,palabras, &total);
	      }

   fclose(archivo);

   /* Saca copia del arreglo original */
   for(i=0; i<total; i++)
       strcpy(palabras_diferentes[i], palabras[i]);

   /* Saca palabras diferentes */
   diferentes = total;
   for(i=0;i<diferentes;i++)
   {
      for(j=i+1;j<diferentes;j++)
      {
	  /* Si encuentra palabra repetida */
	  if(!strcmp(palabras_diferentes[i], palabras_diferentes[j]))
	  {
	     /* Recorre una posicion elementos posteriores */
	     for(k=j+1;k<diferentes;k++)
		 strcpy(palabras_diferentes[k-1], palabras_diferentes[k]);

	     diferentes--;
	     j--;
	  }
       }
   }

   /* Halla repeticiones de cada palabra distinta */
   for(i=0; i<diferentes; i++)
       Rep[i] = 0;
   for(i=0; i<diferentes; i++)
       for(j=0;j<total;j++)
	  if(!strcmp(palabras_diferentes[i], palabras[j]))
	     Rep[i]++;

		 gotoxy(10,5);printf("PALABRA\t\tREPETICIONES\t\tCOORDENADAS");
		 int y=7;
   for(i=0; i<diferentes; i++)
   {
      gotoxy(11,y);printf("%s", palabras_diferentes[i]);
	  gotoxy(31,y);printf("%d",Rep[i]);
	 
	  y=y+1;
	  }
}
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Posicion de Grafica Excel Orgy VBA (Excel, Word, Outlook, Access) 0 27-09-2007 16:01:17
Posición Cadena Texto Korku Visual Basic.NET 2003 & 2005 1 23-10-2006 20:26:59
Posición del curson en una cadena de texto schulo Visual Basic 6.00 5 25-10-2005 17:50:46
Posicion Control ActiveX buildero Visual Basic 6.00 1 17-03-2005 17:25:07
Posición del formulario mcrex Visual Basic 6.00 3 17-09-2004 00:00:00


La franja horaria es GMT. Ahora son las 07:37:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right