IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

les tableaux multidimensionnels


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut les tableaux multidimensionnels
    salut tout le monde!
    Comment peut on faire l'algorithme qui permet de calculer la somme de chaque ligne d'un tableau multidimensionnel ou bien de chaque colonne ou diagonale?

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Siu,

    Poser la question ainsi, c'est déjà y répondre.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Par défaut
    Citation Envoyé par ninolf Voir le message
    salut tout le monde!
    Comment peut on faire l'algorithme qui permet de calculer la somme de chaque ligne d'un tableau multidimensionnel ou bien de chaque colonne ou diagonale?
    Bonjour,

    Comment parcourir une ligne (colonne) dans un matrice à deux dimensions ? En fixant un indice et en faisant varier l'autre.

    Et dans une matrice à trois dimensions ? En fixant deux indices et en faisant varier le troisième.

    Tu dois pouvoir généraliser, non ?

    Pour les diagonales, procède de la même manière...

  4. #4
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Citation Envoyé par fremen167 Voir le message
    Pour les diagonales, procède de la même manière...
    C'est-à-dire

    Je pense qu'il faut varier tous les indices à la fois !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    tab[nbLig][nbCol] : tableau bidimensionnel 
     
    sommeDiagonale = 0;
    Pour i = 1 à nbLig faire
      sommeColonne = 0;
      sommeLigne = 0;
      sommeDiagonale = sommeDiagonale + tab[i][i];
      Pour j = 1 à nbCol faire
        sommeLigne = sommeLigne + tab[i][j];
        sommeColonne = sommeColonne + tab[j][i];
      FinPour
      afficher(sommeLigne);
      afficher(sommeColonne);
    FinPour
    afficher(sommeDiagonale);

  5. #5
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sommeLigne = sommeLigne + tab[i][j];
    sommeColonne = sommeColonne + tab[j][i];
    Oulà mon garçon, t'es sur de tes indices ?

  6. #6
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sommeLigne = sommeLigne + tab[i][j];
    sommeColonne = sommeColonne + tab[j][i];
    Oulà mon garçon, t'es sur de tes indices ?
    Effectivement, je me suis trompé : ce n'est valable que pour les matrices carrées (nbLig = nbCol).

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Par défaut
    Citation Envoyé par sidahmed Voir le message
    C'est-à-dire
    C'est-à-dire qu'en observant comment ça marche en deux et trois dimensions, il est facile de généraliser

    Par ailleurs, ta solution me semble approximative, car outre le fait qu'elle ne fonctionne que pour les matrices carrées (mais comment calculer la somme d'une diagonale d'une matrice non carrée ?), tu ne calcules qu'une diagonale, or un carré en compte deux, non ?

  8. #8
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Citation Envoyé par fremen167 Voir le message

    Par ailleurs, ta solution me semble approximative, car outre le fait qu'elle ne fonctionne que pour les matrices carrées (mais comment calculer la somme d'une diagonale d'une matrice non carrée ?)
    Ah bon ! Je suis un peu dépassé car j'ai jamais entendu parler de diagonale pour les matrices non carrées.
    tu ne calcules qu'une diagonale, or un carré en compte deux, non ?
    Je ne sais pas si ça s'appelle diagonale ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sommeDiagonale2 = 0;
    Pour i = 1 à nbLig faire
      sommeDiagonale2 = sommeDiagonale2 + tab[i][nbLig - i + 1];
    FinPour

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Par défaut
    Citation Envoyé par sidahmed Voir le message
    Ah bon ! Je suis un peu dépassé car j'ai jamais entendu parler de diagonale pour les matrices non carrées.
    Justement, c'est pour ça qu'on peut supposer que le problème concernait des matrices carrées

    Citation Envoyé par sidahmed;2794077
    Je ne sais pas si ça s'appelle diagonale ?
    [CODE
    sommeDiagonale2 = 0;
    Pour i = 1 à nbLig faire
    sommeDiagonale2 = sommeDiagonale2 + tab[i][nbLig - i + 1];
    FinPour[/CODE]
    Si ce n'est pas une diagonale, c'est quoi ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/10/2014, 20h46
  2. [Toutes versions] Les tableaux multidimensionnels ?
    Par rapheb dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/11/2011, 20h02
  3. [Conception] Table multidimensionnelle (comme pour les tableaux) ?
    Par dolfy dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 06/10/2008, 10h36
  4. Réponses: 4
    Dernier message: 31/08/2006, 16h31
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo