Guest geekoisk Postado Maio 20, 2004 Denunciar Share Postado Maio 20, 2004 um programa que implemente um automato finito deterministico para reconhecer se uma determinada palavra pertence a uma gramatica.1 - um programa ler arquivo contendo um conjunto de palavras.2 - ser gerado um arquivo como saida , informando quais palavras são aceitas e quais não são aceitas.(letra) (letra|digito)*consegui fazer em alfabeto , mas não consego implementar#include "iostream.h"#define AUTOMATO {'c','a','s','a'}#define TAM_AFD 4void main(){ char AFD[] = AUTOMATO, string[255]; cin >> string; for( int i=0; AFD==string; i++ ); cout << ( (i>TAM_AFD) ? "Aceito" : "não Aceito" );} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wicker Man Postado Maio 21, 2004 Denunciar Share Postado Maio 21, 2004 Aí, vou tentar ajudar: pra descomplicar um pouco, você poderia retirar a linha "#define AUTOMATO ..." e inicializar a variável AFD da seguinte forma:char AFD[] = "casa", string[ 255 ];Ao invés de fazer aquele loop de comparação caractere-a-caractere você pode usar a função strcmp() da biblioteca cstring. A comparação ficaria assim:cout << ( strcmp( AFD, string ) == 0 ? "Aceito" : "não aceito" );Lembrando que você deverá incluir a biblioteca cstring para usar a função strcmp.Qualquer coisa, poste aí.Até mais! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Maio 27, 2004 Denunciar Share Postado Maio 27, 2004 cya Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest geekoisk
um programa que implemente um automato finito deterministico para reconhecer se uma determinada palavra pertence a uma gramatica.
1 - um programa ler arquivo contendo um conjunto de palavras.
2 - ser gerado um arquivo como saida , informando quais palavras são aceitas e quais não são aceitas.
(letra) (letra|digito)*
consegui fazer em alfabeto , mas não consego implementar
#include "iostream.h"
#define AUTOMATO {'c','a','s','a'}
#define TAM_AFD 4
void main(){
char AFD[] = AUTOMATO, string[255];
cin >> string;
for( int i=0; AFD==string; i++ );
cout << ( (i>TAM_AFD) ? "Aceito" : "não Aceito" );
}
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.