Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1476 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Tout les sous matrice possible d'une matrice [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tout les sous matrice possible d'une matrice [Résolu]

n°1535506
_Reggae_
Posté le 28-03-2007 à 23:55:51  profilanswer
 

Hi
J'ai un petit problème avec un algo qui consiste à extraire toutes les sous matrice s_mat de taille s_N (lignes) et s_M (colonnes) à partir d'une matrice mat de taille N (lignes) et M (colonnes).
Si par exemple j'ai une matrice mat de taille (3,3) comme ceci:

2 6 8
0 1 3
8 5 7


et que les sous matrices à extraire sont de taille (2,2), alors les sous matrices à extraire sont:

2 6
0 1


6 8
1 3


0 1
8 5


1 3
5 7


 
Alors voilà l'algorithme fonctionnel auquel j'ai ponçais:
 
1) crée (allouer) à chaque fois une sous matrice s_mat.
2) parcourir cette sous matrice pour la remplir à partir d'un indice de ligne L et un indice de colone C comme
    ceci:
    les Lignes: de L à L+s_N
    les Colonne de C à L+s_M
3) Faire varier les indice L et C comme ceci:
    if( C <= M-s_M )
            C = C + 1;
    else
    {
         C = 0;
         L = L + 1;
     }
 
En claire ça donne ceci:

ExtractionDESousMatrice( Matrice mat(N, M), Entier s_N, Entier s_M )
{
    Entier i, j, L=0, C=0;
    Matrice s_mat;
 
    TantQue ( L <= N-s_N )
    {
        AllocationMemoire( s_mat, s_N,  s_M);
 
        for( i=L   à   L+s_N -1 )
            for( j=C  à   j<s_M -1 )
                s_mat[i][j] = mat[i][j];
 
        if( C <= M-s_M )
            C++;
        else
        {
            C = 0;
            L++;
        }
 
        AffichageMatrice(s_mat);
 
        FreeMemoire( );
    }
 
}


 
Mais en l'implémentant en langage C, ça ne me donne pas le résultat attendu !
 
merci


Message édité par _Reggae_ le 30-03-2007 à 19:45:19
mood
Publicité
Posté le 28-03-2007 à 23:55:51  profilanswer
 

n°1535512
lkolrn
&lt;comment ça marche?&gt;
Posté le 29-03-2007 à 00:08:59  profilanswer
 

Ponce encore...

n°1535911
_Reggae_
Posté le 29-03-2007 à 16:10:40  profilanswer
 

lkolrn a écrit :

Ponce encore...


C'est bon, en fait c'est tout bette:

ExtractionSMATRCIE( Matrice mat(N, M), Entier s_N, Entier s_M )
{
    Entier i, j, L=0, C=0;
    Matrice s_mat;
 
    TantQue ( L <= N-s_N )
    {
        AllocationMemoireMatrice( s_mat , s_N,  s_M);
 
        for( i=0   à   s_N -1 )
            for( j=0  à   s_M -1 )
                s_mat[i][j] = mat[i+C][j+L];
 
        if( C < M-s_M )
            C++;
        else
        {
            C = 0;
            L++;
        }
 
        AffichageMatrice(s_mat);
 
        FreeMemoireMatrice(  );
    }
 
}



Message édité par _Reggae_ le 30-03-2007 à 19:46:28
n°1536501
mazquin
Posté le 30-03-2007 à 17:18:47  profilanswer
 

salut  
j'ai aussi besoin de l'aglo d'extraction de sous matrice mais dans le premier exemple
2 6 8  
0 1 3  
8 5 7
 
 
les matrice  2 8    0 3  sont des sous matrice mais l'algo que vous citez  
                 0 3   8 7
plus haut ne les prend pas en charge et ne les affiche pas comment faire pour afficher toute les sous matrice ?
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Tout les sous matrice possible d'une matrice [Résolu]

 

Sujets relatifs
[Résolu] Pb modification structure table pr rajouter auto-increment[résolu] getHeight() me renvoie toujours 0 !
[RESOLU] Pilote ISAM est introuvable + Connexion Jet sur Excel[RESOLU] logiciels gratuits pour création site web
Manipulation d'une matrice comme étant un vecteur[Java] WorkSpace Eclipse: lecteur réseau possible?
[Résolu] Probleme de calques entre IE et Firefox[resolu]calcul d'une somme avec plusieurs INPUT
[Résolu] XML socket: Aucune connexion:([RESOLU] Lien html dynamique sur un label
Plus de sujets relatifs à : Tout les sous matrice possible d'une matrice [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR