Forum Pplware
Ajuda em estruturas de dados, utilizando pilha - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: Ajuda em estruturas de dados, utilizando pilha (/showthread.php?tid=17707)



Ajuda em estruturas de dados, utilizando pilha - Diego10 - 04-12-2013 02:23

Não faço ideia de como fazer essa atividade, se por ventura tiver alguém capacitado em me ajudar ficaria grato!

Uma palavra é um palíndromo se tem a mesma seqüência de letras, quer seja lida da esquerda para a direita ou da direita para a esquerda (exemplo: raiar). Escrever uma função que recebe um ponteiros para uma string e que verifique se a string é um palíndromo. Utilizar pilha(s).


RE: Ajuda em estruturas de dados, utilizando pilha - Corvus - 04-12-2013 10:26

Varios pontos:

É boa norma neste forum deixar uma apresentação aqui antes de criar o primeiro tópico.

Que código é que já fizeste e exactamente onde é que tens problemas? (Não te aconselho a ficares à espera que te façam o trabalho todo, a espera pode ser longa).

Tendo isto esclarecido, bem vindo. Wink


RE: Ajuda em estruturas de dados, utilizando pilha - Diego10 - 04-12-2013 15:04

(04-12-2013 10:26)Corvus Escreveu:  Varios pontos:

É boa norma neste forum deixar uma apresentação aqui antes de criar o primeiro tópico.

Que código é que já fizeste e exactamente onde é que tens problemas? (Não te aconselho a ficares à espera que te façam o trabalho todo, a espera pode ser longa).

Tendo isto esclarecido, bem vindo. Wink

Fiz esse código, só que ta dando erro, queria que pudessem arrumar pra mim, e gostaria de saber se poderia ta modificando alguma coisa pra deixar ele menor.

Código:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct ELEMENTO_PILHA{
char valor;
ELEMENTO_PILHA *anterior;
};
struct PILHA{
ELEMENTO_PILHA *topo;
};
void init(PILHA *p){
p->topo = NULL;
}
int empty(PILHA *p){
if(p->topo == NULL){
return 1;
}else{
return 0;
}
}
void push(struct PILHA *p,char v){
ELEMENTO_PILHA *novo = (ELEMENTO_PILHA*) malloc(sizeof(ELEMENTO_PILHA));
novo->anterior = p->topo;
p->topo = novo;
novo->valor = v;
}
char pop(PILHA *p){
if(empty(p)){
}else{
char valorRetorno;
ELEMENTO_PILHA *aux = p->topo;
p->topo = aux->anterior;
valorRetorno = aux->valor;
return valorRetorno;
}
}

int string_length(char *str)
{
    int b=strlen(str);
    int i;
    for(i=0,b;i>=b;i++,b--)
        if(str[i]!=str[b])
            return 0;
    return 1;
}


    int main(int argc, char *argv[]){
char texto[50];
int palavra;
int p, i;

printf("Digite uma palavra \n") ;
scanf("%s", &texto);
palavra = strlen(texto);
printf("Tamanho da palavra: %d\n", palavra);
for (i=0, p = palavra-1; i < palavra/2; i++, p--) {
if (texto[i] != texto[p]) {
printf("\nNao e uma palavra palindromo\n");
return 0;
}
}
printf("\nE uma palavra palindromo\n");
}



RE: Ajuda em estruturas de dados, utilizando pilha - Corvus - 04-12-2013 16:28

E qual é o erro que está a dar?


RE: Ajuda em estruturas de dados, utilizando pilha - Diego10 - 04-12-2013 17:00

(04-12-2013 16:28)Corvus Escreveu:  E qual é o erro que está a dar?


Ta dando erro no ELEMENTO_PILHA *anterior;



RE: Ajuda em estruturas de dados, utilizando pilha - Corvus - 04-12-2013 17:19

Aparentemente falta um struct nessa linha.

Quando metes aqui um tópico, convem que indiques qual o erro que dá e em que sitio. Dizer só "dá um erro" apenas vai fazer com que tenhas menos respostas porque muito pouca gente se vai dar ao trabalho de estar a compilar o programa ou a analiza-lo de cima a baixo para tentar descobrir de que erro te estás a queixar.