Ir para conteúdo

POWERED BY:

Arquivado

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

cloud

algoritmo de ponteiros (portugol)

Recommended Posts

ESSE É O PROGRAMA01: program BubbleSort;02: uses crt;03: const Tamanho= 14;04: type TipoStringX= String[Tamanho];05: TipoChar= char;06: TipoPonteiroChar= ^TipoChar;07: TipoString2= String[2];08:09: var VariavelStringX: TipoStringX;10: ContadorAux1: integer;11: VariavelPonteiroChar: ^TipoChar;12:13: procedure Atribuir(var X: TipoString2);14: begin15: inc(VariavelPonteiroChar);16: X:= VariavelPonteiroChar^;17: inc(VariavelPonteiroChar);18: X:= X + VariavelPonteiroChar^;19: end;20:21: procedure ApoioSwap(X: TipoString2);22: begin23: VariavelPonteiroChar^:= X[1];24: inc(VariavelPonteiroChar);25: VariavelPonteiroChar^:= X[2];26: end;27:28: procedure Decr(X:integer);29: var I: integer;30: begin31: for I:= 1 to X do32: dec(VariavelPonteiroChar);33: end;34:35: procedure BubbleS(var VSX: TipoStringX; Tam: integer);36: var ContadorX, ContadorY: integer;37: AuxiliarSwap, ConteudoAtual, ConteudoPosterior: TipoString2;38: begin39: for ContadorX:= 1 to Tam div 2 - 1 do40: begin VariavelPonteiroChar:= @VariavelStringX;41: for ContadorY:= 1 to Tam div 2 - ContadorX do42: begin43: Atribuir(ConteudoAtual);44: Atribuir(ConteudoPosterior);45: if ( ConteudoAtual > ConteudoPosterior) then46: begin47: AuxiliarSwap:= ConteudoAtual;48: Decr(3);49: ApoioSwap(ConteudoPosterior);50: inc(VariavelPonteiroChar);51: ApoioSwap(AuxiliarSwap);52: end;53: Decr(2);54: end;55: end;56: end;57:58: begin59: clrscr;60: VariavelStringX:= '76782345181001';61: writeln('Antes: ', VariavelStringX);62: readkey;63:64: new(VariavelPonteiroChar);65: VariavelPonteiroChar:= nil;66: BubbleS(VariavelStringX,Tamanho);67:68: writeln('Depois: ',VariavelStringX,'\n');69: dispose(VariavelPonteiroChar);70: readkey;71: 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.