Problème matrice dynamique en C
Résolu
jeanlouisvalval
Messages postés
2
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, l'erreur doit surement etre idiote mais lorsque j'éxécute le compilateur m'affiche une erreur de segmentation. Voici mon code :
Si une âme charitable pouvait me dire d'où vient l'erreur je lui en serais très reconnaissant
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int n, i, j;
puts("Taille de la matrice?");
scanf("%d", &n);
double * *A;
A=malloc(n*sizeof(double*));
for (i=0; i<n; i++) {
A[i]=malloc(n*sizeof(double));
}
for (i=0; i<n; i++) {
for (j=0; j<n; i++) {
A[i][j]=1;
}
}
for (i=0; i<n; i++) {
for (j=0; j<n; i++) {
printf("%lf\t", A[i][j]);
}
printf("\n");
}
return 0;
}
Si une âme charitable pouvait me dire d'où vient l'erreur je lui en serais très reconnaissant
2 réponses
-
Quand tu incrémentes j, tu dois faire j++ et non i++
#include <stdio.h> #include <stdlib.h> int main(void) { int n, i, j; puts("Taille de la matrice?"); scanf("%d", &n); double** A=(double **) malloc(n*sizeof(double*)); for (i=0; i<n; i++) A[i]=(double*) malloc(n*sizeof(double)); for (i=0; i<n; i++) for (j=0; j<n; j++) A[i][j]=1; for (i=0; i<n; i++) { for (j=0; j<n; j++) printf("%ld\t", A[i][j]); printf("\n"); } return 0; }