Programa finito determinístico que encuentra números pares de a
Enviado por Jesús Mares • 20 de Octubre de 2015 • Práctica o problema • 451 Palabras (2 Páginas) • 167 Visitas
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
char comparaE;
char comparaF;
int caracter=0;
int estado_aceptacion=0;
int comprueba_alfabeto(char cadena[]){
int j=0;
int respuesta=0;
while (cadena[j] != '\0') {
if(cadena[j] == 'a'||cadena[j] == 'b'){
respuesta=1;
}
else
{
respuesta=0;
break;
}
j++;}
return respuesta;
}
void F(char c[]);
void E(char c[]){
estado_aceptacion=0;
comparaE=c[caracter];
printf("\n\n\t Entro a estado E ");
if(c[caracter] != '\0'){
if (c[caracter] == 'a') {
caracter++;
F(c);
}
else
{
caracter++;
E(c);
}
}
}
void F(char c[]){
estado_aceptacion=1;
comparaF=c[caracter];
printf("\n\n\t Entro a estado F ");
if(c[caracter] != '\0'){
if (c[caracter] == 'a') {
caracter++;
E(c);
}
else
{
caracter++;
F(c);
}
}
}
int main ()
{
float x,y;
int respuesta;
int tamano=100;
char cadena[tamano];
int alfabeto=0;
do
{
caracter=0;
estado_aceptacion=0;
system("cls");
printf("\n \t Automata que reconoce toda cadena de a,b que sea impar \n");
printf("\n\t===================================================");
printf("\n\n \t Programa Creado por: Jes%cs Roberto Mares Tenorio. ",163);
printf("\n\n\n\t Teclea la cadena a analizar : ");
gets(cadena);
tamano = strlen(cadena);
alfabeto=comprueba_alfabeto(cadena);
if(alfabeto==1){
printf("\n\n\t Alfabeto Valido");
E(cadena);
if(estado_aceptacion==1)
printf("\n\n\t Cadena Aceptada");
else
printf("\n\n\t Cadena No Aceptada");
}
else{
printf("\n\n\t Alfabeto No Valido");
printf("\n\n\t
...