matheusjunio 0 Denunciar post Postado Junho 8, 2008 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
quitZAUMMM 18 Denunciar post Postado Junho 9, 2008 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
_Isis_ 202 Denunciar post Postado Junho 14, 2008 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