Matrices
Cristagide2b
-
Cristagide2b Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Cristagide2b Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai écris un programme qui permet de lire une matrice de 3 lignes et 3 colonnes. Mais voilà lorsque j'arrive à la saisie de la valeur [3][1], je rentre un nombre et après rien du tout. Le programme s'arrête.
Est-ce que quelqu'un pourrait m'aider ? Voici mon code :
#include <stdio.h>
#include <string.h>
int main()
{
int M1[2][2];
//int M2[2][2];
//int M3[2][2];
int i, j;
printf("Bonjour, veuillez entrer les valeurs de la première matrice, de ligne en ligne :\n\n");
for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
printf("Valeur [%d][%d] : ", i+1, j+1);
scanf("%d", &M1[i][j]);
}
}
return 0;
}

Merci d'avance !
J'ai écris un programme qui permet de lire une matrice de 3 lignes et 3 colonnes. Mais voilà lorsque j'arrive à la saisie de la valeur [3][1], je rentre un nombre et après rien du tout. Le programme s'arrête.
Est-ce que quelqu'un pourrait m'aider ? Voici mon code :
#include <stdio.h>
#include <string.h>
int main()
{
int M1[2][2];
//int M2[2][2];
//int M3[2][2];
int i, j;
printf("Bonjour, veuillez entrer les valeurs de la première matrice, de ligne en ligne :\n\n");
for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
printf("Valeur [%d][%d] : ", i+1, j+1);
scanf("%d", &M1[i][j]);
}
}
return 0;
}
Merci d'avance !
Configuration: Windows / Edge 17.17134
1 réponse
int M1[2][2];
signifie
int M1[0..1][0..1];
Donc tu tapes hors du tableau, stack overflow et erreur, encore une "chance" que tu n'ai pas de Segfault ou similaire.
signifie
int M1[0..1][0..1];
Donc tu tapes hors du tableau, stack overflow et erreur, encore une "chance" que tu n'ai pas de Segfault ou similaire.
Cristagide2b
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
Merci. Ce qui nous a été dis en cours n'était pas du tout ça. Apparemment quand on initialise un tableau, en algorithme on le présente sous la forme : T[1..3] et en C : T[2] puisque ça commence à 0, 1, 2... Je ne comprends pas pourquoi 2 n'est pas pris en compte ?
NHenry
Messages postés
15219
Date d'inscription
Statut
Modérateur
Dernière intervention
365
Car Tab[2] définit un tableau de 2 éléments, et comme on part de 0, ça fait 0..1
Cristagide2b
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
Daccord je comprends mieux. Merci beaucoup !