Réduction d'un tableau - C - Programmation
Marsh Posté le 14-03-2007 à 19:46:08
deja,au passage, si tu as 150 lignes, tu ne peux pas addresser la case 150...sinon ca part en javel.
et qu'entends tu par 'reduire' ? tu veux extraires un tableau plus petit tout en conservant l'original ou tu veux redimensionner (donc perdre) l'original ?
Marsh Posté le 14-03-2007 à 19:50:58
pfuitt a écrit : deja,au passage, si tu as 150 lignes, tu ne peux pas addresser la case 150...sinon ca part en javel. |
Bonjour,
je souhaite extraire un tableau plus petit tout en conservant l'original.
Marsh Posté le 14-03-2007 à 20:12:29
allocation dynamique d'un tableau avec malloc(), et ta fonction doit retourner un pointeur sur la zone mémoire nouvellement créée.
Plus d'information ici : http://mapage.noos.fr/emdel/notes.htm#pointeurs
Marsh Posté le 14-03-2007 à 20:16:33
bon, deja, tu n'as pas besoin des 4 coins de ton tableau final (ppFoo). Tu as juste besoin du (i_0,y_0) la case de ton ppFoo[0][0], de L ne nombre de colones et H le nombre de lignes à extraires.
si tes valeurs sont coherentes (i_0+ L_final > 0 et i_0 + L_final< L_init et idem pour H_final) il suffit d'allouer un tableau de sortie à la bonne dimension, de positionner les ppFoo[i][] sur la colones qui t'interesses et de recopier le nombre de cellule qui va bien
en gros, en virant les '...' et en les remplacant par les bonnes variables
Code :
|
Marsh Posté le 14-03-2007 à 22:11:14
pfuitt a écrit :
|
Déjà le cast du malloc est inutile. Mais si t'alloues pas quand-même la mémoire pour stocker les lignes du tableau ça partira aussi en javel...
Code :
|
Marsh Posté le 15-03-2007 à 19:40:20
Sve@r a écrit : Déjà le cast du malloc est inutile. Mais si t'alloues pas quand-même la mémoire pour stocker les lignes du tableau ça partira aussi en javel... |
c est un embryon e code, le but c'etait de lui montrer le how too, pas de lui pondre la routine qui vabien, mais sinon tu as raison...j'aurai du mettre au moins des '...'
et pour le cast... j'ignorai, donc merci
Marsh Posté le 17-03-2007 à 21:53:00
pfuitt a écrit : et pour le cast... j'ignorai |
Ben c'est depuis que le malloc est passé de "char*" à "void*". Le type "void*" étant synonyme de "universel", plus la peine de caster un malloc. Son pointeur renvoyé s'adapte à tout...
Marsh Posté le 14-03-2007 à 19:28:19
Bonjour,
j'ai un tableau de 150 lignes et de 150 colonnes.
Vu comme une image : (x,y) indique les coordonnées
coin supérieur gauche : (0,0)
coin supérieur droit : (150,0)
coin inférieur droit : (150,150)
coin inférieur gauche : (0,150)
Je souhaiterai écrire une fonction permettant de réduire ce tableau pour ne récupérer que la partie que l'on désire.
Les coins sont donnés en parametres.
int ** tableau_reduit(int csgX, int csgY, int csdX, int csdY, int cidX, int cidY, int cigX, int cigY)
Merci