Permuter deux lignes d'une matrice

[Fermé]
Signaler
Messages postés
79
Date d'inscription
vendredi 5 septembre 2008
Statut
Membre
Dernière intervention
28 novembre 2011
-
 loupius -
Bonjour,
je voudrais permuter deux lignes d'une matrice voila la procedure :
1 Rechercher, parmi les coefficients a0,0 a1,0 … an-1,0 de la première colonne, celui dont la valeur absolue est la plus grande ; soit m l’indice de sa ligne. Le coefficient am,0 est appelé le pivot de l’étape 0.
permuter les lignes d’indices 0 et m.
voic ce que j'ai deja fait je voudrais une correction.
void permutation(int tab1[][N] , int tab2[][N])
{

int i , j , k , a;
int temp[N][N];
int pivot;

for(i=0 ; i<N-1 ; i++)
{
pivot=tab1[i][i];
for(j=1 ; j<N-1 ; j++)
{
if(tab2[j][i]>tab1[i][i])
{
pivot=tab2[j][i];
}
for(a=j ; a<N-1 ; a++)
{
for(k=i ; k<N-1 ; k++)
{
temp[j][i]=tab2[j][i];
tab2[j][i]=tab1[i][i];
tab1[i][i]=temp[j][i];
}
}
}
}
for(j=0 ; j<N-1 ;j++)
{
printf("%d ",temp[i][j]);
}

}
Merci de m'aider je compte sur vous j'ai reflechie pendant une semaine mais ça na pas marché

2 réponses

Messages postés
59
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
17 mars 2010
23
Bonjour

je pense que c la méthode de calcule du déterminant de gauss
bon il y a trop d"erreur dans ton code t'arrive pas à te décidé si t'utilise du c++ ou du pascal
voici un lien avec un programme en c++
https://codes-sources.commentcamarche.net/

Cordialement
En mettant toujours '<N-1', il est évident que les lignes et colonnes 'N-1' ne seront jamais concernées...
D'autre part ton code est illisible, il FAUT utiliser les balises codes se trouvant à droite de la balise 'souligné'.