TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Contratar Amigos

Dissertações: Contratar Amigos. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  11/10/2014  •  217 Palavras (1 Páginas)  •  203 Visualizações

#ifndef PILHA_H

#define PILHA_H

struct pilha {

int *elem;

int topo, nelem;

};

void cria_pilha(struct pilha *p, int tam){

p->nelem = tam;

p->elem = new int[tam];

p->topo = -1;

}

// PUSH: insere um elemento no topo da pilha

// Caso a inserção, a função retorna 1. Se a pilha estiver cheia, retorna 0.

int push(struct pilha *p, int n){

if (p->topo == (p->nelem - 1)){

//cout << "\n\nERRO: Pilha cheia!!"

// << "\nNão é possível inserir elementos\n\n";

return 0;

}

else {

p->topo++;

p->elem[p->topo] = n;

return 1;

}

}

// POP: remove o elemento do topo da pilha

// Retorna o elemento do topo da pilha. Caso a pilha esteja vazia, retorna 0

int pop(struct pilha *p, int *n){

if (p->topo == -1){

//cout << "\n\nERRO: Pilha vazia!!"

// << "\nNão é possível remover elementos\n\n";

return 0;

}

else {

*n = p->elem[p->topo];

p->topo--;

return 1;

}

}

#endif // PILHA_H

#include<iostream.h>

#include "pilha.h"

int main(){

char palavra[100];

struct pilha palindromo;

int i, n, y = 0;

cria_pilha(&palindromo, 100);

cout << "Digite a palavra:";

cin >> palavra;

for(i=0;i<strlen(palavra);i++)

...

Disponível apenas no TrabalhosGratuitos.com