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

Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

Estas en el tema de Teoría de Automatas. Simular un AFD que valide una cadena de caracteres. en el foro de C/C++ en Foros del Web. Buen día, en mi clase de teoría de autómatas tengo como tarea realizar un programa (lenguaje c) que simule un automata. Entonces lo que tiene ...
  #1 (permalink)  
Antiguo 11/05/2013, 17:23
 
Fecha de Ingreso: mayo-2013
Ubicación: Mexico, Nuevo León
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Pregunta Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

Buen día, en mi clase de teoría de autómatas tengo como tarea realizar un programa (lenguaje c) que simule un automata. Entonces lo que tiene que hacer es aceptar todo conjunto de cadenas del alfabeto {a,b,c} que en las que el quinto símbolo contado desde el final sea una b.
Hay que validar que no se ingrese otro caracter y las cadenas introducidas tienen como limite 200 caracteres.

Espero puedan ayudarme con un poco de análisis y consejos para realizarlo, ya que programación no es del todo mi fuerte.

Muchas gracias (
  #2 (permalink)  
Antiguo 11/05/2013, 17:53
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

A ver, te comento como lo haría yo. Para verificar el tamaño de la cadena tenes sizeof(), y lo mismo para la "b" en el quinto lugar desde el final. Por lo que:

Código C:
Ver original
  1. if (cadena[sizeof(cadena) - 5) == 'b') {
  2.     /* */
  3. }

Y el tamaño lo especificas directamente al crear el array:

Código C:
Ver original
  1. char cadena[200];

Espero que te sirva
  #3 (permalink)  
Antiguo 11/05/2013, 21:01
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

Podrías darme ejemplos de las cadenas válidas? o si puedes mejor la gramática en su notacion:
A-> BC
B -> b...
  #4 (permalink)  
Antiguo 12/05/2013, 05:46
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

Lo siento carbón, estás esquivocado.

Para calcular la longitud de una cadena se usa strlen(cadena); y declarar un array de 200 no impide que lea 300 por teclado.

Tienes que usar fgets para forzar que se lean 200 caracteres como máximo:

Código C:
Ver original
  1. fgets(cadena,200,stdin); // El maximo de caracteres leídos será 200
  #5 (permalink)  
Antiguo 12/05/2013, 08:13
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

No quiero ser tiquismiquis pero si cargas 200 caracteres en un char[200] y el ultimo caracter no es nulo el strlen tampoco funciona :)

Saludos
vosk
  #6 (permalink)  
Antiguo 12/05/2013, 09:41
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Teoría de Automatas. Simular un AFD que valide una cadena de caracteres.

Cita:
Iniciado por vosk Ver Mensaje
No quiero ser tiquismiquis pero si cargas 200 caracteres en un char[200] y el ultimo caracter no es nulo el strlen tampoco funciona :)
De acuerdo, pues que el array sea de 201 :)

Etiquetas: automatas, programacion, teoria
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 20:09.