Problème matrice dynamique en C
Résolu
jeanlouisvalval
Messages postés
2
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
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
A voir également:
- Allocation dynamique matrice c
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant ✓ - Forum Excel
- Liste déroulante dynamique excel - Guide
- Vous ne pouvez pas modifier une partie de matrice - Forum Excel
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;
}
printf("%f\t", A[i][j]); serait mieux vu qu'il s'agit d'un double.
Cdlt,