Problème matrice dynamique en C
Résolu
jeanlouisvalval
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 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
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
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - 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,