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 :

Lecture matrice zigzag


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut Lecture matrice zigzag
    Bonjour je suis à la recherche d'un algorithme de lecture en zigzag d'une matrice (comme pour la compression jpeg) pourriez-vous m'aider s'il-vous-plaît?? merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    comment çà en zigzag
    colonne après colonne ??
    ligne aprèes ligne ??

  3. #3
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    En fréquence croissante ("scanning"):



  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    oui ronan99999 en fréquence croissante

  5. #5
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    Bon vite fais à main levée voici le code pour le parcours de la matrice triangulaire supérieur, il ne doit pas manquer grand chose pour le parcours de la partie inférieur.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    int i,j,n=8;
    for(i=0;i<n;i++)
    {
    		if(i%2)
    		{
    			for(j=0;j<=i;j++)
    			{
    				int a,b;
     
    				a = j;
    				b = i-j;
     
    				printf("(%d, %d) ",a,b);
    			}
    		}
    		else
    		{
    			for(j=i;j>=0;j--)
    			{
    				int a,b;
     
    				a = j;
    				b = i-j;
     
    				printf("(%d, %d) ",a,b);
    			}
    		}
    		printf("\n");
    	}

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    Voilà un bout de code qui marche très bien
    tu n'as plus qu'a paramétré la taille de ta matrice et créer la fonction ou remplacer lafonction AfficherTableau en fonction dde ce que tu veux en faire
    Faut aussi que tu initialsies ton tableau

    Ci-joint, le fichier Excel avec lequel j'ai fait mes test,tu constateras que ca fonctionne
    Tun'as qu'à modifier le nombre de lignes e colonnes aue tu veux parourir et tu cliques sur le bouton
    Tu verras des msgbox apparaitre a chaque lecture des cases et il te restera à constater que tout passe bien

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    Sub a()
    Dim i As Integer
    Dim j As Integer
    i = 0
    j = 0
     
    Dim maxI As Integer
    Dim maxJ As Integer
    maxI = 5
    maxJ = 5
     
    Dim tableau(0 to maxI ,0 to maxJ ) as String
     
    Dim croiss As Boolean
    croiss = False
     
    While i <= maxI And j <= maxJ
        AfficherValeur(tableau(i,j))
        If (i = 0 Or i = maxI) Then
            If (j = maxJ) Then
                j = j - 1
                i = i + 1
            End If
            j = j + 1
            AfficherValeur(tableau(i,j))
        Else
            If (j = 0 Or j = maxJ) Then
                If (i = maxI) Then
                    i = i - 1
                    j = j + 1
                End If
                i = i + 1
                AfficherValeur(tableau(i,j))
            End If
        End If
     
        If (i = 0 Or j = maxJ) Then croiss = False
        If (j = 0 Or i = maxI) Then croiss = True
     
        If (croiss) Then
            i = i - 1
            j = j + 1
        Else
            i = i + 1
            j = j - 1
        End If
    Wend
     
    End Sub
    Fichiers attachés Fichiers attachés

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    merci beaucoup en fait c'est pour une fonction codée sous matlab donc je vais me depatouiller avec ton code
    merci encore

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    Pense à mettre ton sujet en Résolu

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

Discussions similaires

  1. [Débutant] [fread] Lecture matrice image
    Par superfunk dans le forum MATLAB
    Réponses: 5
    Dernier message: 19/06/2009, 16h43
  2. lecture et écriture PGM dans une matrice
    Par pazze dans le forum Débuter
    Réponses: 2
    Dernier message: 13/11/2008, 18h03
  3. Réponses: 5
    Dernier message: 05/04/2008, 12h49
  4. Réponses: 3
    Dernier message: 29/11/2007, 15h50
  5. Lecture matrice 1536*1536*2 de float
    Par zoro_le_renard dans le forum Fortran
    Réponses: 4
    Dernier message: 01/09/2006, 19h00

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