abidcha
Messages postés8Date d'inscriptionjeudi 1 janvier 2004StatutMembreDernière intervention28 janvier 2004
-
2 janv. 2004 à 18:15
abidcha
Messages postés8Date d'inscriptionjeudi 1 janvier 2004StatutMembreDernière intervention28 janvier 2004
-
5 janv. 2004 à 15:14
Bonjour,
J"aimerai savoir si on peux stocker des array dans un array en Delphi.
Voici le code que j"ai pense mais ca marche pas:
Var
matMachPer : array[0..5,0..2] of double;
finMachTps : array[0..20] of double;
abidcha
Messages postés8Date d'inscriptionjeudi 1 janvier 2004StatutMembreDernière intervention28 janvier 2004 2 janv. 2004 à 21:20
Merci Yve de m'avoir repondu.
Cependant je veux stocker dans chaque emplacement de la matrice TOUT le vecteur et pas un seul element a la fois. Mon code va se ressembler a:
Begin
matMachPer[1][1] := finMachTps;
end;
ET PAS:
matMachPer[1][1] := finMachTps[1];
Je doit declarer
matMachPer : array[0..5,0..2] of array;
mais ca ne marche pas.
abidcha
Messages postés8Date d'inscriptionjeudi 1 janvier 2004StatutMembreDernière intervention28 janvier 2004 3 janv. 2004 à 17:58
J'ai tester ton code avec R et C comme integer mais ca ne se compile pas. Je ne suis pas sur qu'il fera ce que je veux. J'explique plus mon probeme et je presente le code que je propose:
Je commence a replir un vecteur (finMachTps), puis je le met (en entier) dans un emplacement d'une matrice (matMachPer). Je revient a mon vecteur (finMachTps ) pour le remplir a nouveau avec de nouvelles valeurs, puis je le met (en entier) dans un autre emplacement de ma matrice (matMachPer). Je continue jusuqu'a remplir tous les emplacements de ma matrice (matMachPer ).
Voici un exmple de code qui me renvoi un erreur dans la ligne : matMachPer[ii,j] := finMachTps;
Var
matMachPer : array[0..5,0..2,0..20] of double;
finMachTps : array[0..20] of double;
i,ii,tps,j : integer;
Begin
for tps := 0 to 18 do
begin
for i:=0 to 20 do
begin
finMachTps[i] := i; //dans mon vrais code : i + function(i)
end;//for i:=0 to
for ii:=0 to 5 do
for j:=0 to 2 do
begin
matMachPer[ii,j] := finMachTps;//erreur dans ce ligne
end;//for j:=0
end;//for tps := 0 to
end;//Begin
Merci d'avance
abidcha
Vous n’avez pas trouvé la réponse que vous recherchez ?
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 3 janv. 2004 à 22:03
Je commence a replir un vecteur (finMachTps), puis je le met (en entier) dans un emplacement d'une matrice (matMachPer). Je revient a mon vecteur (finMachTps ) pour le remplir a nouveau avec de nouvelles valeurs, puis je le met (en entier) dans un autre emplacement de ma matrice (matMachPer). Je continue jusuqu'a remplir tous les emplacements de ma matrice (matMachPer ).
alors si je comprend bien la question ,le deuxième tableau ne sert qu'a convertir les double en Integer ? alors le premier sera toujours en entier ...
si on simplifie ,on souhaite classer 21 items Integer[0..20] (vecteurs) dans un tableau de 6 X 3 ([0..5],[0..2])
unit Unit1;
interface
uses
Classes,Controls,StdCtrls,forms,math;
type TForm1 = class(TForm)end;
procedure attribuer(x,y:Integer);
var
Form1: TForm1;
matMachPer : array[0..5,0..2,0..20] of Integer;
finMachTps : array[0..20] of Double;
implementation
{$R *.dfm}
//pour attribuer une case
//du tableau 6X3
procedure attribuer(x,y:Integer);
var z:Integer;
begin
for z:=0 to 20 do
matMachPer[x,y,z]:=Floor(finMachTps[z]);
end;