Loop FOR para acessar valores de arrays.
Olá,
Pessoal preciso de uma ajuda aqui pra pegar os valores de de um array normal e acessar em outro array multidimensional..
Vou tentar me explicar melhor, é o seguinte:
Eu tenho 2 arrays:
Uma multidimensional, onde guardo valores de linhas(1..10) e colunas(2..11) que uso mais tarde pra montar um código
vCabecalho: array[1..10, 2..11] of Integer;
e outra, simples onde coloco os valores das colunas e linhas que quero acessar na array acima
ArrValores: array of Integer;
Então nesta ultima array ai em cima, sempre vai ter um tamanho de itens em pares, ou seja, 2, 4, 6, 8, ou 10.... assim por diante, pode ser qualquer quantidade de itens, mas sempre vai ser em pares a quantidade de itens, eu defino essa quantidade via SetLength(ArrValores, X) mais a frente.
O que não estou conseguindo fazer?
Eu preciso pegar os 2 primeiros valores da ArrValores, e usar pra acessar os valores correspondentes em vCabecalho, exemplo:
Vamos supor que a ArrValores contenha os seguintes itens:
ArrValores[0] := 1;
ArrValores[1] := 2;
ArrValores[2] := 2;
ArrValores[3] := 3;
ArrValores[4] := 3;
ArrValores[5] := 4;
e em vCabecalho eu tenha:
vCabecalho[1,2] := 10;
vCabecalho[2,3] := 20;
vCabecalho[3,4] := 30;
Então eu tenho que fazer um laço que pegue os valores em ArrValores[0] e ArrValores[1] e acessar os valores correspondentes em vCabecalho, ou seja:
X := vCabecalho[ArrValores[0], ArrValores[1]];
Que deveria devolver o valor "10", que é o valor que esta definido para esta coordenada em vCabecalho.
Depois disso, pegar os 2 próximos valores em ArrValores e repetir esta operação para acessar os valores em vCabecalho, e assim por diante até acabar os itens de ArrValores.
Ufaa, não sei se consegui me explicar, qualquer dúvida me perguntem.
Gostaria muito da ajuda de vcs pq já tentei de tudo e minhas "habilidades" nisso ai não são la essas coisas.
Maria Fernanda
Curtidas 0
Respostas
Mazin
26/02/2010
var
i, x: Integer;
...
for i:= 0 to 5 do
begin
x := vCabecalho[ArrValores[i*2], ArrValores[(i*2)+1]];
writeln(x);
end;
i, x: Integer;
...
for i:= 0 to 5 do
begin
x := vCabecalho[ArrValores[i*2], ArrValores[(i*2)+1]];
writeln(x);
end;
GOSTEI 0
Mazin
26/02/2010
var
i, x: Integer;
...
for i:= 0 to 5 do
begin
x := vCabecalho[ArrValores[i*2], ArrValores[(i*2)+1]];
writeln(x);
end;
i, x: Integer;
...
for i:= 0 to 5 do
begin
x := vCabecalho[ArrValores[i*2], ArrValores[(i*2)+1]];
writeln(x);
end;
GOSTEI 0
Perivaldo Martins
26/02/2010
Veja se assim funciona como vc quer.
//Adicione 1 componente TMemo
//Adicione 1 componente TButton
procedure TForm1.Button1Click(Sender: TObject);
var
vValores: array[1..6, 2..7] of Integer;
vCabecalho: array[0..6] of Integer;
i, x: Integer;
begin
vCabecalho[0]:= 1;
vCabecalho[1]:= 2;
vCabecalho[2]:= 3;
vCabecalho[3]:= 4;
vCabecalho[4]:= 5;
vCabecalho[5]:= 6;
vCabecalho[6]:= 7;
//
vValores[1,2] := 10;
vValores[2,3] := 20;
vValores[3,4] := 30;
vValores[4,5] := 40;
vValores[5,6] := 50;
vValores[6,7] := 60;
//
for i:= 0 to 5 do
begin
x := vValores[vCabecalho[i], vCabecalho[(i)+1]];
Memo1.Lines.Add(IntToStr(x));
end;
end; Boa sorte e bons códigos!!
var
vValores: array[1..6, 2..7] of Integer;
vCabecalho: array[0..6] of Integer;
i, x: Integer;
begin
vCabecalho[0]:= 1;
vCabecalho[1]:= 2;
vCabecalho[2]:= 3;
vCabecalho[3]:= 4;
vCabecalho[4]:= 5;
vCabecalho[5]:= 6;
vCabecalho[6]:= 7;
//
vValores[1,2] := 10;
vValores[2,3] := 20;
vValores[3,4] := 30;
vValores[4,5] := 40;
vValores[5,6] := 50;
vValores[6,7] := 60;
//
for i:= 0 to 5 do
begin
x := vValores[vCabecalho[i], vCabecalho[(i)+1]];
Memo1.Lines.Add(IntToStr(x));
end;
end; Boa sorte e bons códigos!!
GOSTEI 0