Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Como uso las Cadenas en C?

Estas en el tema de ¿Como uso las Cadenas en C? en el foro de C/C++ en Foros del Web. Hola, resulta que debo presentar este programa y no tengo la mas minima idea de como hacerl. Me podrian hechar una mano? Código: Escriba un ...
  #1 (permalink)  
Antiguo 16/05/2011, 12:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 19
Antigüedad: 13 años, 4 meses
Puntos: 0
¿Como uso las Cadenas en C?

Hola, resulta que debo presentar este programa y no tengo la mas minima idea de como hacerl. Me podrian hechar una mano?

Código:
Escriba un programa en C que lea dos cadenas y determine el índice del carácter de la primera cadena en el que empieza, por primera vez, la segunda cadena. Si la segunda cadena no está contenida en la primera cadena, el programa debe informarlo. Ejemplo: Si la primera cadena es “Universidad de  Antioquia” y la segunda cadena es “versidad”, el programa debe mostrar el valor de 3.
PD: Debo usar funciones para este ejercicio.

Muchas gracias.
  #2 (permalink)  
Antiguo 16/05/2011, 13:13
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ¿Como uso las Cadenas en C?

El algoritmo no es muy complicado.

Mediante un bucle buscas la primera aparición del primer caracter de la segunda cadena en la primera cadena.

Cuando lo encuentras, mediante otro bucle, vas comparando si cada caracter de la segunda coincide con los siguientes de la primera empezando por el carácter coincidente que encontraste. Si llegas al final de la segunda cadena y todos han coincido devuelves el índice que te dio originalmente. Si no sales del bucle y sigues buscando con el primer bucle otra aparición del primer caracter de la segunda cadena en la primera cadena.

No te voy a dar el algoritmo o no aprenderías nada.
  #3 (permalink)  
Antiguo 16/05/2011, 17:51
 
Fecha de Ingreso: diciembre-2010
Mensajes: 19
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: ¿Como uso las Cadenas en C?

Si hubiera ido a clase estaria preparado para hacerlo, igual debo explicar linea por linea el codigo asi que me seria de gran ayuda al menos una base del codigo. Gracias
  #4 (permalink)  
Antiguo 17/05/2011, 13:36
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ¿Como uso las Cadenas en C?

Te voy a dejar un ejemplo, que se podría mejorar.

Como ves en una función muy sencilla (te he puesto varias cosas con comentarios para que tu lo vayas rellenando (es muy sencillo):

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int buscar(char *cadena,char *subcadena){
  5.  
  6. int i=0,j=0,aux=0,salir=0;
  7.  
  8. while (!salir && cadena[i]!='\0')
  9. {  
  10.   aux=i;//Utilizamos un auxiliar para guardar el valor del índice a la primera cadena
  11.   while (/*No llegue al final de la cadena y el carácter de la posición i de la cadena sea igual al carácter de la posición j de la subcadena*/ )
  12.    {
  13.     //Aumento el índice de la subcadena
  14.     //Aumento el índice de la cadena
  15.    }
  16.   if (/*Si se ha llegado al final de la subcadena, quiere decir que ha coincido*/)
  17.    salir=1;
  18.   else
  19.    {
  20.     //Se reinicia el índice de la subcadena (empezar por el principio
  21.     //El índice de la cadena es el índice del valor auxiliar + 1
  22.    }   
  23.  
  24. }
  25.  
  26. if (salir)
  27.  return aux;
  28. else return -1;
  29. }
  30.  
  31. int main(int argc, char **argv)
  32. {
  33.   printf("Indice: %d",buscar("Universidad de  Antioquia","versidad"));
  34.   return 0;
  35. }

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:31.