Jump to content

Arrumar um programa de arranjo pra ele rode apenas o arranjo de 1,2,3,4


Matheus Vi

Recommended Posts

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.