BIBLIOTHÈQUE DE GESTION DE MATRICES EN C

Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
- - Dernière réponse : cs_Sunglasses
Messages postés
8
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
11 juillet 2008
- 9 mai 2007 à 21:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42632-bibliotheque-de-gestion-de-matrices-en-c

Afficher la suite 
ncoder
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1 -
Pour afficher un tableau[X][Y], voici une petite fonction :

void AfficherTableau( float * t[], int TailleX, int TailleY )
{
int x;
int y;
int i, j, k;

printf("\n\t---\n\n\t%c", 201);

for (i=0; i<TailleX*8-1; i++) printf("%c", 205);

printf("%c\n\t", 187);

for(y = 0; y<TailleY; y++) {
for(x = 0; x<TailleX; x++) {

if ( t[x][y]>=0 ){ //Si positif, pas besoin de "-"
if ( t[x][y]<10 ) printf("%c%.5f", 186, t[x][y]);
else if ( t[x][y]<100 ) printf("%c%.4f", 186, t[x][y]);
else if ( t[x][y]<1000 ) printf("%c%.3f", 186, t[x][y]);
else if ( t[x][y]<10000 ) printf("%c%.2f", 186, t[x][y]);
else if ( t[x][y]<100000 ) printf("%c%.1f", 186, t[x][y]);
else if ( t[x][y]<1000000 ) printf("%c%.0f-", 186, t[x][y]);
else if ( t[x][y]<10000000 ) printf("%c%.0f", 186, t[x][y]);
else printf("%c-GRAND-", 186, t[x][y]);
}
else{ //Sinon
if ( t[x][y]>-10 ) printf("%c%.4f", 186, t[x][y]);
else if ( t[x][y]>-100 ) printf("%c%.3f", 186, t[x][y]);
else if ( t[x][y]>-1000 ) printf("%c%.2f", 186, t[x][y]);
else if ( t[x][y]>-10000 ) printf("%c%.1f", 186, t[x][y]);
else if ( t[x][y]>-100000 ) printf("%c%.0f", 186, t[x][y]);
else if ( t[x][y]>-1000000 ) printf("%c%.0f", 186, t[x][y]);
else printf("%cNEGAT", 186, t[x][y]);
}

if ( x==TailleX-1 ) printf("%c\n\t", 186);
}

if (y!=TailleY-1) {
for(j=0; j<TailleX; j++){
printf("%c-------", 186);
if ( x==TailleX-1 ) printf("%c\n\t", 186);
}
printf("%c\n\t", 186);
}

}

printf("%c", 200);

for (i=0; i<TailleX*8-1; i++)printf("%c", 205);

printf("%c\n\n\t---\n\n", 188);
}
cs_Sunglasses
Messages postés
8
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
11 juillet 2008
-
Ok, merci pour la fonction d'affichage, c'est vrai que c'est un peu plus sympathique quand tous les nombres sont bien alignés (m'enfin quelle idée d'utiliser des nombres plus grands que dix :-) ).

Quand j'aurai un peu de temps il faudra que je l'adapte à ma structure de données, car je n'ai pas utilisé un tableau de tableaux, mais un tableau dans lequel les éléments sont rangés en colonne (c'est un peu plus performant niveau timing).

Si vous avez d'autres suggestions, je suis tout ouïe (même si je n'apporte pas les modifications tout de suite à mon code, dès que j'ai cinq minutes je m'y remets, promis :-) ).