Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/03/2007, à 19:44

amwus

Initialiser une matrice en C

Bonjour !

Voilà je dois faire un programme qui me calcules un triangle de pascal. J'ai donc conçu un petit algorithme qui récupère les valeurs de la ligne d'avant pour calculer la nouvelle valeur. Problème ! Il me met des valeurs abracadabrantes !

J'ai donc pensé que c'était du au fait que ma matrice n'était pas initialisée. Or qd j'essaie d'initialiser la matrice comme suit :

for (int i = 0; i < dim; i++) { // Init matrix with 0
    for (int j = 0; i < dim; i++) {
      matrix[i][j] = 0;
    }
  }

Ca ne remplit pas du tout le tableau avec des 0...

Ma question est donc, faut il initialiser le tableau ou pas ? Si c'est bien le cas, comment le faire ?

Pour info, voici l'algorithme du triangle :

// Calculation of pascals triangle

  for (int posx = 0; posx < dim; posx++) {
    for (int posy = 0; posy < posx; posy++) {

      if ((posx == 0) || (posx == posy)) {
	matrix[posx][posy] = 1;
      }
      else {
	matrix[posx][posy] = matrix[posx-1][posy-1] + matrix[posx-1][posy];
      }
    }
  }

Voila voila, merci d'avance !
cool


Black holes are where god divided by zero...

Hors ligne

#2 Le 02/03/2007, à 01:52

best_friend_fr

Re : Initialiser une matrice en C

Salut

Donne nous tout ton fichier.
Il faut initialiser les tableaux en C/C++.

Mais que vaut ta variable dim?
Comment as-tu alloué la mémoire de ton tableau?

Ensuite, ATTENTION AUX COPIER-COLLER !!!
Dans ton for imbriqué, tu n'as changé qu'une fois sur 3 le i en j.

Il faut mettre

for (int i = 0; i < dim; i++) { // Init matrix with 0
    for (int j = 0; j < dim; j++) {

sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#3 Le 02/03/2007, à 16:17

amwus

Re : Initialiser une matrice en C

Le problème est résolu. Et sans initialiser le tableau, ça fonctionne smile !


Black holes are where god divided by zero...

Hors ligne