Erreur de segmentation,je dois faire quoi svp

pika86 -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'ai un projet à réaliser,et pour le produit matrice vecteur et pour le remplissage d'une matrice il m'affiche erreur segmentation.

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Vérifier tes pointeurs ce serait bien.
    0
    1. pika86
       
      justement,tout é bon...le but de la fonction que jai fait cé de fixer une colonne et calculer les éléments de cette colonne voila le code de la fonction,en sachant que Y j l'ai déclaré comme une matrice dans le prog principal:
      void rempliss(double * Y,int k,int m)
      {
      int i;


      for(i=0;i<m;i++)
      {
      Y[(2*i*m)+k]=2;

      Y[(2*i-1)*m+k]=1;


      }
      }
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      Il faudrait voir cette fameuse déclaration de matrice que tu utilises comme Y, et à quoi correspond m et k, mais en supposant logiquement que k est l'indice de colonne, et m la dimension de ta matrice, alors Y[(2*i*m)+k] n'est pas un indicage correct de matrice, puisque l'on irait jusqu'à la case 2m²-2m+k ce qui est bien trop puisque le maximum devrait être m²-1.

      void rempliss(double * Y,int k,int m) 
      {
          int i;
          
          for (i=0; i<m; i++)
              Y[m*i+k] = 1+i%2;
      }
      0