Jump to content

Postagens Recomendadas

Postado

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.

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...