Ir ao conteúdo
  • Cadastre-se

Atividade valendo ponto, estrutura de dados,não estou conseguindo fazer.


Posts recomendados

Acrescente ao TDA ListaSeq as operações abaixo e implemente-as:

 

Procedimento que informe quantos elementos existem na lista;

 

Uma  função que retorna o elemento de uma dada posição;

 

Uma função que retorna a posição de um dado elemento;

 

Um procedimento que esvazie a lista.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá Rafael.

 

Por favor, passe mais detalhe sobre o problema...

 

Então, poste o código que já conseguiu fazer e em quais trechos está com dúvidas.

 

 

No aguardo.

 

 

Acrescente ao TDA ListaSeq as operações abaixo e implemente-as:
 
Procedimento que informe quantos elementos existem na lista;
 
Uma  função que retorna o elemento de uma dada posição;
 
Uma função que retorna a posição de um dado elemento;
 
Um procedimento que esvazie a lista.

 

Link para o comentário
Compartilhar em outros sites

unit pilha;interfaceconst max=7;type pi = record     dados:array[1..max]of integer;     topo:integer;     end;procedure init(var p:pi);function vazia(var p:pi):boolean;function cheia(var p:pi):boolean;procedure push(var p:pi; s:integer);function pop (var p:pi):integer;function top (var p:pi):integer;implementationprocedure init(var p:pi);beginp.topo:= 0;writeln('Inicializada');end;function vazia(var p:pi):boolean;beginif ( p.topo = 0)thenvazia:= trueelsevazia:=false;end;function cheia(var p:pi):boolean;beginif(p.topo = max)thencheia:= trueelsecheia:= false;end;procedure push(var p:pi;s:integer);beginif(not cheia(p) )thenbeginp.topo:= p.topo + 1;//Inclemento;p.dados[p.topo]:= s;//voce coloca o vetor  e no indice do vetor voce coloca o inclemento dentro depois  coloca para receber o tipo que voce quer que seja no seu vetor.end;end; //Conceito de pilha: O Primeiro Valor É O Que ENTRA  E O ÚLTIMO Valor É O Primeiro Que Sai.function pop(var p:pi):integer;//Vai retira o último valor que está na pilha.beginif(p.topo <> 0)then//tem que testa para saber se não está vazia.Porque como ele vai retira uma coisa que esta vazia.beginpop:=p.dados[p.topo];p.topo:=p.topo - 1;endelsewriteln('Erro');end;function top(var p:pi):integer;beginif(p.topo <> 0)thenbegintop:= p.dados[p.topo];endelsewriteln('Erro ');end;end.unit pilha;interfaceconst max=7;type pi = record     dados:array[1..max]of integer;     topo:integer;     end;procedure init(var p:pi);function vazia(var p:pi):boolean;function cheia(var p:pi):boolean;procedure push(var p:pi; s:integer);function pop (var p:pi):integer;function top (var p:pi):integer;implementationprocedure init(var p:pi);beginp.topo:= 0;writeln('Inicializada');end;function vazia(var p:pi):boolean;beginif ( p.topo = 0)thenvazia:= trueelsevazia:=false;end;function cheia(var p:pi):boolean;beginif(p.topo = max)thencheia:= trueelsecheia:= false;end;procedure push(var p:pi;s:integer);beginif(not cheia(p) )thenbeginp.topo:= p.topo + 1;p.dados[p.topo]:= s; end;end; function pop(var p:pi):integer;beginif(p.topo <> 0)thenbeginpop:=p.dados[p.topo];p.topo:=p.topo - 1;endelsewriteln('Erro');end;function top(var p:pi):integer;beginif(p.topo <> 0)thenbegintop:= p.dados[p.topo];endelsewriteln('Erro ');end;end.

unit pilha;interfaceconst max=7;type pi = record     dados:array[1..max]of integer;     topo:integer;     end;procedure init(var p:pi);function vazia(var p:pi):boolean;function cheia(var p:pi):boolean;procedure push(var p:pi; s:integer);function pop (var p:pi):integer;function top (var p:pi):integer;implementationprocedure init(var p:pi);beginp.topo:= 0;writeln('Inicializada');end;function vazia(var p:pi):boolean;beginif ( p.topo = 0)thenvazia:= trueelsevazia:=false;end;function cheia(var p:pi):boolean;beginif(p.topo = max)thencheia:= trueelsecheia:= false;end;procedure push(var p:pi;s:integer);beginif(not cheia(p) )thenbeginp.topo:= p.topo + 1;p.dados[p.topo]:= s;end;end; function pop(var p:pi):integer;beginif(p.topo <> 0)thenbeginpop:=p.dados[p.topo];p.topo:=p.topo - 1;endelsewriteln('Erro');end;function top(var p:pi):integer;beginif(p.topo <> 0)thenbegintop:= p.dados[p.topo];endelsewriteln('Erro ');end;end.

Atividade é essa.

1.Faça um procedimento para verificar se um dado elemento se encontra em uma pilha.

2.Faça um procedimento que informe quantas vezes um dado elemento se encontra em uma pilha.

3.Faça um procedimento para esvaziar uma pilha.

4.Faça uma função que retorne quantos elementos possui uma pilha.

5.Faça um procedimento para imprimir todos os elementos de uma pilha.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá Rafael Souza_737449

 

Me desculpe pela demora... não tive tempo para responder... :)

 

Vamos lá:

 

Atividade é essa.

1.Faça um procedimento para verificar se um dado elemento se encontra em uma pilha.
2.Faça um procedimento que informe quantas vezes um dado elemento se encontra em uma pilha.
3.Faça um procedimento para esvaziar uma pilha.
4.Faça uma função que retorne quantos elementos possui uma pilha.
5.Faça um procedimento para imprimir todos os elementos de uma pilha.

1 = criar uma rotina, sugiro uma Function, que compare o valor a ser encontrado com elemento por elemento já cadastrado no array. Sugiro utilizar um for para percorrer o array.

2 = igual o primeiro, só que em vez só de "achar", você vai contar quantas vezes já achou;

3 = já tem... o "procedure init(var p:pi);"!!!! Ele faz isso (pelo menos conceitualmente)!. Mas creio que o objetivo seja "retirar todos os dados manualmente", ou seja, algo como "ficar dando um pop até remover tudo"... não tenho certeza...
4 = por enquanto, deixo por tua conta;

5 = por enquanto, deixo por tua conta;

 

PS: se precisa de ajuda, informa. Mas tente fazer algo e poste em que parte não tá conseguindo...

 

No aguardo.
 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...