Ir ao conteúdo
  • Cadastre-se

Ajuda


DuPoisson

Posts recomendados

Pessoal, estou com um problema. Preciso fazer um algoritmo em pascal implementando um deque em uma lista encadeada, mas não to conseguindo. O meu PascalZim está dando problema na compilação e eu só consegui fazer em vetor. Alguém poderia passar o algoritmo para deque e me explicar o código?

Desde já, muito obrigado.

P.S.: Preciso que seja meio rápido.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Pessoal, estou com um problema. Preciso fazer um algoritmo em pascal implementando um deque em uma lista encadeada, mas não to conseguindo. O meu PascalZim está dando problema na compilação e eu só consegui fazer em vetor. Alguém poderia passar o algoritmo para deque e me explicar o código?

Desde já, muito obrigado.

P.S.: Preciso que seja meio rápido.

Olá,

Poste aqui seu código que ajudamos a converter!!!

No aguardo

Abraços

Simon Viegas

Link para o comentário
Compartilhar em outros sites

Segue abaixo o codigo

Program Lista;

var
tam, ent, saida, i, op : integer;
lista : array[1..100] of integer;

procedure menu;
begin
writeln('*-**-***-***-**-*');
writeln('LEITURA - 0');
writeln('ADICIONAR - 1');
writeln('REMOVER - 2');
writeln('SAIR - 3');
writeln('*-**-***-***-**-*');
write('Entre com a opção desejada:');
read(op);
case op of
0: leitura;
1: adicionar;
2: remover;
3: exit;
end;

procedure leitura;
begin
write('Defina o tamanho da sua lista: ');
readln(tam);
writeln('**------------***------------**');
write('Indique a posição da entrada: ');
readln(ent);
writeln('Indique também a saída, menor que o tamanho: ');
read(saida);
if saida > tam then
begin
writeln('Valor inválido!');
readln(saida);
end;
if saida = ent then
begin
writeln('Informe um valor diferente da entrada!!!');
readln(saida);
end;
writeln('**------------***------------**');
for i:=1 to tam do
begin
if lista[i] = 0 then
begin
write('*');
end
else
begin
write(lista[i]);
end;
end;
writeln(' ');
end;

procedure adicionar;
begin
write('Entre com o número!');
readln(lista[ent]);
for i:=1 to tam do
begin
if lista[i] = 0 then
begin
write('*');
end
else
begin
write(lista[i]);
end;
end;
writeln(' ');
if ent > saida then
begin
ent := ent+1;
end
else
begin
ent := ent-1;
end;
if ent > tam then
begin
ent := 1;
end;
if ent < 1 then
begin
ent := tam;
end;
writeln(' ');
end;

procedure remover;
begin
if saida > ent then
begin
ent := ent+1;
end
else
begin
saida := ent-1;
end;
if ent > tam then
begin
ent := 1;
end;
if ent < 1 then
begin
ent := tam;
end;
writeln(' ');
for i:=1 to tam do
begin
if lista[i] = 0 then
begin
write('*');
end
else
begin
write(lista[i]);
end;
end;
if (ent-saida=1) or (saida-ent=1) then
begin
write('Você chegou ao limite do vetor.');
end;
writeln(' ');
end;


Begin
leitura;
adicionar;
remover;
End.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!