Pesquisar na Comunidade
Mostrando resultados para as tags ''automato''.
Encontrado 1 registro
-
Boa noite, Preciso fazer um automato de pilha que seja capaz de reconhecer a seguinte linguagem:L2 = {0n1mnonde n e m são inteiros maiores ou iguais a 1} .a linguagem acima gera a seguinte sequencia L2={Σ, 010, 001100, 000111000...}.Alguém pode me ajudar?Abaixo o código para criar a pilha, o que eu preciso é algum teste que reconheça a sequencia L2={Σ, 010, 001100, 000111000...} #include <stdio.h> #include <stdlib.h> [size=2]Struct no {[/size] int info; struct no* prox; }; typedef struct no No; struct pilha { No* prim; }; typedef struct pilha Pilha; Pilha *pil; //******************************************************************************************************************** // Funcao para criação da pilha Pilha* cria (void) { Pilha* p = (Pilha*) malloc(sizeof(Pilha)); p->prim = NULL; return p; } // Função que inserir a pilha no inicio No* ins_ini (No* l, int v) { No* p = (No*) malloc(sizeof(No)); p->info = v; p->prox = l; return p; } // Funcao auxiliar: retira do inicio da pilha No* ret_ini (No* l) { No* p = l->prox; free(l); return p; } // Insercao na pilha; void push (Pilha* p, int v) { p->prim = ins_ini(p->prim,v); } // Funcao q remove da pilha int pop (Pilha* p) { int v; if (vazia(p)) { printf("Pilha vazia.\n"); exit(1); /* aborta o programa */ } v = p->prim->info; p->prim = ret_ini(p->prim); return v; } // Funcao auxiliar q verifica se a pilha esta vazia int vazia (Pilha* p) { return (p->prim==NULL); } void libera (Pilha* p) { No* r = p->prim; while (r!=NULL) { No* t = r->prox; free(r); r = t; } free(p); } // Funcao que exibe todos os elementos da pilha Desde já grata. No aguardo. Me ajudem estou desesperada