Erreur de segmentation,je dois faire quoi svp

Fermé
pika86 - 24 janv. 2013 à 23:29
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 25 janv. 2013 à 08:45
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

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
24 janv. 2013 à 23:30
Vérifier tes pointeurs ce serait bien.
0
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
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 janv. 2013 à 08:45
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