Jai une petite question pour remplir un tableau (algo), je la pose ici car je trouve un peu bête de créer un topic pour ça. Je vais utiliser la synthaxe C/C++/Java je crois que tout le monde comprendra.
Alors, je vous met dans l´ambiance ^^ :
C´est une méthode qui a pour but de remplir un tableau deux dimensions pas au complètement mais seulement entre les index spécifiés (enfet c´est un tableau 3D mais la dernière dimension contient juste les valeurs x et y du tableau a copier) en copiant un certain nombre de fois dedans une autre plage de valeur d´un autre tableau 2D.
Arguments reçus:
-Tableau "x", deux valeurs, correspond à la zone à remplir pour l´index 1D du tableau.
(x[0] début et x[1] fin)
-Tableau "y", deux valeurs, correspond à la zone à remplir pour l´index 2D du tableau.
(y[0] début et y[1] fin)
-Tableau "xt", deux valeurs, les indexs qui limitent la zone à copier pour l´index 1D du tableau à copier.
(xt[0] début et xt[1] fin)
-Tableau "yt", deux valeurs, les indexs qui limitent la zone à copier pour l´index 2D du tableau à copier.
(yt[0] début et yt[1] fin)
J´espère que jusqu´ici je suis assez clair.
Voici comment j´essaye de les remplir :
int larg = xt[1]-xt[0];
int haut = yt[1]-yt[0];
int kfois = (x[1]-x[0])/larg;
int nfois = (y[1]-y[0])/haut;
if(kfois<1) kfois=1;
if(nfois<1) nfois=1;
for(int k=0;k<kfois;k++)
for(int l=0;l<nfois;l++)
for(int i=0;i<=larg;i++)
for(int j=0;j<=haut;j++) {
t[x[0]+i+(k*larg)+k][y[0]+j+(l*haut)+l][0] = xt[0]+i;
t[x[0]+i+(k*larg)+k][y[0]+j+(l*haut)+l][1] = yt[0]+j;
}
Le problème c´est que ça va trop loin dans le tableau... J´ai essayer en mettant "break" sur la boucle for avec les j quand l´index 2D > y[1]-y[0] et un break qui quitte toutes les boucles quand l´index 1D > x[1]-x[0] mais ça s´arrete à des endroits étranges je ne comprend pas. En gros j´ai besoin d´aide.
J´espère m´être bien expliquez, Merci 