Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Rajouter deux attributs aux cases d'un tableau variable

Posté par
abdelite
25-03-10 à 12:33

Bonjour à tous, j'aimerai créer une fonction qui prend pour clé un tableau contenant des cases avec un attribut identifiant, qui me retournerai le même tableau mais avec deux cases supplémentaires : une coordonnée x et y en fonction de la position orthogonal de la case du tableau.

Voici deux exemples pour illustrer ce qui vient d'être dit :

Clé de fonction : Tableau A :

012
345
678


Clé retourné de la fonction : Tableau B :
(-1;1)(0;1)(1;1)
(-1;0)(0;0)(1;0)
(-1;-1)(0;-1)(1;-1)


Autre exemple avec un autre tableau de différente taille :

Tableau C :
01234
56789
1011121314
1516171819
2021222324


Tableau D :
(-2;2)(-1;2)(0;2)(1;2)(2;2)
(-2;1)(-1;1)(0;1)(1;1)(2;1)
(-2;0)(-1;0)(0;0)(1;0)(2;0)
(-2;-1)(-1;-1)(0;-1)(1;-1)(2;-1)
(-2;-2)(-1;-2)(0;-2)(1;-2)(2;-2)


Voilà, petit rappel :
-tableau A -> fonction -> tableau B
-tableau C -> fonction -> tableau D

Voilà, quand j'ai commencé à réaliser l'algorithme, j'ai remarqué que les case avait toujours le même écart verticalement (tableau A : 3, et tableau C : 5) et horizontalement (toujours 1 en l'occurrence).

Est-ce que certains d'entre vous aurez l'amabilité de me guider pas à pas à travers la conception de cet algo ? Merci à vous

Nota: je dispose de nombreuse fonction déjà prêtes : addition, soustraction, multiplication, division (dont division euclidienne), boule, conditions, racines, trigonométrie, puissance, arrondie au supérieur/inférieur/plus proche...

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 15:04

J'ai pas bien compris ce que tu cherchais.
la fonction qui à i (indice du tableau) associe une paire de coordonnées ?

Tes tableaux sont-ils toujours de dimensions l*c  ?
avec l = nombre impair de lignes
avec c = nombre impair de colonnes

...

Posté par
abdelite
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 18:40

Merci de t'être intéresser à mon sujet pgeod. C'est bien une fonction qui te retourne un paire de coordonnées pour un indice du tableau donnée, je me suis mal expliqué précédemment excusez-moi.

Mes tableaux ont toujours un nombre de ligne et de colonnes identiques, et sont toujours impair.

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 19:24


j'ai compris. essaye cela :

tableau carré : n x n avec n impair
i = indice courant du tableau de 0 à N = n²-1
k = indice de la case centrale = (n - 1) / 2

j = N - i = n p + r (division euclidienne)
--> case de coordonnées (-r + k; p - k)

...

Posté par
abdelite
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 19:59

Merci pour cette réponse, j'avais déjà trouvé le i et le k moi-même, en revanche je ne comprend pas ces deux lignes :

j = N - i = n p + r (division euclidienne)
--> case de coordonnées (-r + k; p - k)

Pourquoi parles-tu de division euclidienne, et à quoi corresponde j, p et r ?

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 20:03


au lieu d'utiliser i, on utilise j = N - i
c'est à dire l'indice courant en partant
non pas du début de tableau, mais de la fin du tableau.

Jusque là c'est bon ?

...

Posté par
abdelite
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 20:18

Ok, jusque là, je comprend, et pour p et r alors ?

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 25-03-10 à 20:46


il faut ensuite transformer cet indice j en
nombre de lignes (p) et en nombre de colonnes (r)
d'où la division euclidienne de j par n .

ex : sur un tableau 5  x 5

j = 7 = 5*1 + 2 --> (ligne, colonne) = (1; 2)
rappel : on prend le tableau en commençant par la fin
et la 1° ligne est 0, la première colonne vaut 0.

...

Posté par
abdelite
re : Rajouter deux attributs aux cases d'un tableau variable 26-03-10 à 20:53

ok, merci, autre question, si j'ai un tableau comme celui qui suit :

0, 01, 02, 0
0, 11, 12, 1
0, 21, 22, 2


Comment faire pour le transformer en tableau qui suit ? Merci (x, y)
-1, 10, 11, 1
-1, 00, 01, 0
-1, -10, -11, -1

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 26-03-10 à 21:22


(x; y) --> (x-1; n-y-2)

...

Posté par
abdelite
re : Rajouter deux attributs aux cases d'un tableau variable 27-03-10 à 13:29

Merci pour ta réponse.

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 27-03-10 à 13:29

Posté par
abdelite
re : Rajouter deux attributs aux cases d'un tableau variable 28-03-10 à 13:17

Euh... ça ne serait pas plutôt : (x; y) --> (x-1; (n-y)-2) ?

Posté par
pgeod
re : Rajouter deux attributs aux cases d'un tableau variable 28-03-10 à 13:39

Ce que tu écris est juste.
Mais en quoi c'est différent ?

...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !