Matheus Vi Posted June 4, 2022 at 02:39 AM Report #626114 Posted June 4, 2022 at 02:39 AM Opa pessoal, estou com um problema que quero que esse programa de arranjo em pascal apenas rode os arranjos de: 1234 ,sendo digitado 1 o 2 e assim sucessivamente, porém mesmo se eu digitar outro número eu quero que apenas o arranjo do 1234 seja feito e não outro. Alguém tem uma ideia de como fazer isso ? Virei e revirei o código e não consigo encontrar. program mistureba; type placa = array [1..4] of integer; expr = record texto : string; valor : real; end; a4expr = array [1..4] of expr; const MAXDIG = 4; var a4num : array [1..24] of placa; // a4num : array [1..24,1..4] of integer linha : integer; procedure mistura(input : placa; index : integer); // input tem a série de digitos da placa // index indica a posição que inicia o arranjo var output : placa; p, i : integer; begin if index=MAXDIG then begin // mostra / insere a sequencia que está em input //for i := 1 to MAXDIG do //write(input[i]); //writeln; a4num[linha] := input; linha := linha + 1; end else begin output := input; for p := index to MAXDIG do begin output[index] := input[p]; for i := index to p - 1 do output[i + 1] := input[i]; for i := p + 1 to MAXDIG do output[i] := input[i]; mistura(output,index + 1); end; end; end; var //a4num : placa; p, i : integer; begin linha := 1; for i := 1 to MAXDIG do readln(a4num[linha,i]); mistura(a4num[linha],1); // vou mostrar o conteúdo do mei conjunto de placas for linha := 1 to 24 do begin for i := 1 to MAXDIG do write(a4num[linha,i]); writeln; end; end.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now