Matheus Vi Posted June 4, 2022 at 02:39 AM Report Share #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. Cada dia querendo ser melhor no pascal. Link to comment Share on other sites More sharing options...
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