Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

matheusjunio

no procedimento Ordenar

Recommended Posts

Pessoal estou com uma dúvida, em como fazer este procedimento escrito abaixo, verificar se a lista está ou não ordenada(apenas dizer se está ou não)

 

 

procedure ordenar(var lista1:tipolista);
var
  i,bolha,maior:integer;
  aux:tipoitem;
begin
  maior:=lista1.ultimo-1;
  while maior>1 do
	begin
	  bolha:=lista1.primeiro;
	  for i:=1 to maior-1 do
		begin
		  if lista1.item[i].elemento >lista1.item[i+1].elemento
			then begin
				   Writeln('Lista está ordenada');
				 end
				 else writeln('lista não esta ordenada');

end;
		maior:=bolha;
	end;

		  clrscr;
end;

Como é que eu tenho que arrumar esta procedure pra retornar o que eu quero?

Se puderem me ajudar, desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

oq eu penso é assim, você pega o primeiro elemento e compara com o segundo c estiver td ok, pega o segundo e compara com o terceiro e assim sucessivamente, caso o numero seja maior ow menor q o outro(naum sei como você qr em ordem crescente ow decrescente) ai você adiciona 1 a uma flag por exemplo!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites
procedure ordenar(var lista1:tipolista);
var
  i:integer;
begin
  i:=1;
  while (i < TAMANHO && lista1.item[i].elemento < lista1.item[i+1].elemento)
  begin
	  i:=i+1;
  end;
  if (i = TAMANHO) then
  begin
  writeln("Ordenada");
  end
  else
  writeln("Nao ordenada");
  end;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.