Jump to content
Fórum Script Brasil
  • 0

Automato Pilha Em C


jessi1412
 Share

Question

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

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...