begin process at 2012 05 30 07:18:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Question matrice "indéfini"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Question matrice "indéfini"

mercredi 19 janvier 2005 à 21:27:08 | Question matrice "indéfini"

LordBob

Membre Club
Bonjour a tous,
voila je me pose une question, j'aimerais pourquoi quand j'ecris une fonction, je peux faire:
Type MaFonction(int Tab[])

mais je ne peux pas faire:
Type MaFonction(int Mat[][])

et comment faire pour y remedier.
Merci par avance...
Bob...

"La chance accorde ses faveur aux esprits avertis..."
mercredi 19 janvier 2005 à 21:59:51 | Re : Question matrice "indéfini"

otofraise

Salut LordBob,

Si je me souviens bien de mes cours de C, les tableaux a deux dimensions sont geres comme des tableaux a une dimension en memoire, c'est a dire que tous les elements du tableau se suivent de cette facon pour un Tab[2][2] par exemple :

| Tab[0][0] || Tab[0][1] || Tab[1][0] || Tab[1][1] |

Donc si tu veux que ton programme puisse determiner à quelle ligne appartient tel element, tu dois indiquer le nombre de colonnes de chaque ligne.

En esperant avoir ete clair dans ma reponse

Oto
mercredi 19 janvier 2005 à 22:57:44 | Re : Question matrice "indéfini"

LordBob

Membre Club
en fait j'ai pas trop compris ta reponse, vu comment tu le dis il me semble que le problème pour Tab[] et Matrince[][] serait donc le meme... bref de toute facon a premiere vue, il me'est impossible de faire Matrice[][]...
donc comment puis-je y parvenir?
mon probleme et que, je veux ecrire une fonction qui va recevoir un tableau, mais donc la taille est variable... comment puis-je y parvenir?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
jeudi 20 janvier 2005 à 09:13:03 | Re : Question matrice "indéfini"

otofraise

Re Bob,

En fait pour ce qui est du tableau a 2 dimensions, en memoire il est gere comme un tableau a une dimension ou toute les ligne sont mises bout a bout. Pour que ton programme puisse recomposer "virtuellement" ton tableau a deux dimensions a partir d'un tableau à une dimension, il doit connaitre le nombre de colonne de ce tableau a 2D.

 

Sinon pour passer un tableau a 2D variable en parametre, un Pointeur de pointeur devrais faire l'affaire. Par exemple pour un tableau d'entier : void MaFonction(int** Tab);

Ce qui, en fait, correcpond a un tableau de tableau et donc a un tableau en 2D.

Reponse un peu meilleure ?

Oto

 

jeudi 20 janvier 2005 à 09:40:11 | Re : Question matrice "indéfini"

ymca2003

lorsque l'on passe un tableau en paramètre, seule une des dimensions peut être omise (celle de gauche), les autres doivent êtres fournie pour que le compilo s'y retrouve.
jeudi 20 janvier 2005 à 18:36:15 | Re : Question matrice "indéfini"

LordBob

Membre Club
ok je vais donc essayer avec un double pointeur... merci pour votre aide !
Bob...

"La chance accorde ses faveur aux esprits avertis..."
jeudi 20 janvier 2005 à 21:04:23 | Re : Question matrice "indéfini"

LordBob

Membre Club
ok voila donc un exemple de fonction:
L est le nombre de ligne de la matrice
C le nombre de colone

// affichage des matrices

void PrintMat(int **matrice, int L, int C)

{

int i, j; // variables pour boucle for

// affichage de la matrice

for(i = 0; i < L; i++)

{

for(j = 0; j < C; j++)

printf("%d", matrice[i][j]);

printf("\n");

}

}

le code suivant ne marche pas, comment faire pour faire un truc dans le meme style, mais qui marche, sachant que l'on ne connait pas la taille de la matrice :)
Merci par avance
Bob...

"La chance accorde ses faveur aux esprits avertis..."
jeudi 20 janvier 2005 à 21:17:56 | Re : Question matrice "indéfini"

otofraise

Quel probleme rencontres tu exactement ? c a la compile ou durant l'execution ? Comment defini tu ta matrice dans la fonction appelante ?

Oto
jeudi 20 janvier 2005 à 21:24:40 | Re : Question matrice "indéfini"

LordBob

Membre Club
bah en fait c'est pas lors de la compil kil y a une erreur c'est a l'execution, voici la definition de la matrice:

// matrice1

int matrice1[4][6] = {{0, 0, 1, 1, 0, 0},

{0, 1, 1, 1, 1, 0},

{0, 1, 1, 1, 1, 0},

{1, 0, 1, 1, 0, 1}};

// algo pour matrice1

PrintMat(matrice1, 4, 6); // affichage de matrice
Bob...

"La chance accorde ses faveur aux esprits avertis..."

jeudi 20 janvier 2005 à 21:34:55 | Re : Question matrice "indéfini"

otofraise

Et a l'execution il se passe koi : plantage ou ce ne sont pas les bonne valeur qui s'affichent ?

Sinon essaye de definir ta matrice comme ca :

int ** Matrice1 = new int*[4];
for(int i = 0; i < 4; ++i)
   Matrice1[i] = new int[6];

J'ai essaye et la ca passe

Oto


1 2

Cette discussion est classée dans : type, question, matrice, mafonction, indéfini


Répondre à ce message

Sujets en rapport avec ce message

Question sur le type "Variant" [ par oberown ] J'utilise une api, où je recupere une collection d'objet de type Banane Pour récuperer l'objet il faut que j'utilise un *variant. Comment caster mon v matrices et c++ [ par anne-lise ] Bonjour, je debute en c++ et j'ai quelques problemes avec les tableaux... D'abord, y a t'il un moyen d'avoir pour resultat d'une fonction un tableau ? compilation mai erreur a l execution [ par touny23 ] bon j ai fai une amélioration de mon programme . je galere un peu avec le C mai bon  c est un projet , soit disan la base de la methode num.(je croi q Template matrice [ par anisdilou ] Je souhaite q'on s'aide a fin d'meliorer nos nivauxSalut : Je veux implémenter une classe qui représente des matrices de dimensions et type de donnés Question peut-être stupide... [ par bloom1 ] Bonjour,je suis en train de programmer un petit programme et je voudrais qu'en faisantc=mafonction();c étant un char, me retourne une variable contenu question bete [ par blanccc ] bonjour tout le monde, je suis pas du tout un expert en C et j'ai un truc à programmer pour mon stage dans ce langage et ça serait bien pratique si j opencv BIBLIO [ par atefensi ] ds la bibliotheque opencv quel est la différence entre iplimage et cvmat? est ce qu'on peut utiliser simultanement la matrice comme  de type iplimage quantifier une image [ par far3ousa ] j'ai  réussi a transformer mon image de type QImage en une matrice  de type  QRgb je veut mnt multiplier les élément de ma matrice par un reel ,alors question sur les surcharges et les fonctions amies en c++ [ par maymouna2008 ] salut tt le monde je veux que vous m expliquer et me donne des reponse ,svp c est urgent,  sur un programme en c++:c est un probleme d une fonction ma le contour d'une matrice*aidez moi* [ par robi987 ] salut,je suis etudiante en informatique en 1 er annee donc je suis debutante et j'ai recontré quelque difficultés à mes etudes c'


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales