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
| POINTEUR2 matcr_createMatrix(matd_s * mat , size_t nb_lignes, size_t nb_colonnes) /*A MODIFIER COMPLETEMENT*/
{
/*matcr_createMatrix :
*Input :
num_line corresponds au numéro de ligne de la matrice simple
que l'on veut traduire en vecteur creux
ptr_line est un pointeur vers la ligne ne question
nectRow est un pointeur vers la prochaine ligne dans la matrice creuse
*Output :
res est la traduction de la ligne n° num_line en vecteur creux
*/
POINTEUR2 res = NULL;
POINTEUR Une_ligne = NULL;
double * vect = NULL; //Ajout de ce pointeur afin de manipuler chaque ligne de la matrice indépendamment
vect=malloc(sizeof(double)*nb_colonnes);
size_t i,k ;/*indices*/
for (i=nb_lignes;i>=0;i--){
for(k=0;k<nb_colonnes;k++){
matd_get(matd_s * mat, i, k, vect);
printf("%lf \n",vect[i]);
vect++;
}
print("\n");
printf("TEST MAT1, %d ieme iteration\n\n",i);
Une_ligne = vecteur_creux(vect, nc);
if (Une_ligne != NULL)
res = nouveau_maillon2(i, Une_ligne, res) ;
}
return res ;
} |
Partager