Langage C(niveau débutant): tableaux et pointeurs

Signaler
Messages postés
4
Date d'inscription
dimanche 11 septembre 2005
Statut
Membre
Dernière intervention
12 septembre 2005
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Bonjour à tous.
J'ai trouvé ce site par hazard et espère que quelqu'un aura quelques secondes pour m'aider, mon niveau étant très peu élevé en C
Mon problème: je sais créer des tableaux en C, mais a priori je ne sais pas manipuler les valeurs qu'ils contiennent.
Je m'explique par ce bout de code:
/*Début de code*/
int main( )
{
int i;
int matrice[3][3];
/*suit ensuite une double boucle for où je propose à l'utiliateur d'entrer un à un les coefficients de la matrice*/
//ensuite je souhaite multiplier des coefficients entre eux
i = matrice[1][2]*matrice[2][1];//ceci ne marche pas, à priori ça retourne une adresse mémoire
}
/*Fin de code*/
J'ai aussi essayé avec des pointeurs mais apparemment je ne sais pas le faire...
Quelqu'un peut-il me dire comment exploiter individuellement les valeurs d'un tableau dans du calcul?

3 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Salut,

Ton code va très bien je ne vois pas où est le problème.
Voici un exemple simple et qui marche :


#include <stdio.h>


int main(
int argc,
char* argv[])
{

int i;

int matrice[2][2];

matrice[0][0] = 0;
matrice[0][1] = 1;
matrice[1][0] = 2;
matrice[1][1] = 3;

i = matrice[0][1] * matrice[1][0];


printf("Voici le recultat i = %d", i);



return 0;
}

Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Ton problème vient surement de la saisie utilisateur.
Tu ne dois pas récuperer correctement la valeur saisie par l'utilisateur.

Voila comment faire si tu veux comparer avec ton code :

int i;
int j;
int matrice[3][3];

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf(Veuillez saisie la valeur pour l'élément matrice[%d][%d] : ",i,j);
scanf("%d", &matrice[i][j]);
}
}

J'ai pas testé mais ce code devrait te convenir.

Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Avec quelques guillemets et parentthèse en plus ca devrais mieux aller :

int i;
int j;
int matrice[3][3];

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("\nVeuillez saisie la valeur pour l'élément matrice[%d][%d] : ",i,j);
scanf("%d", &matrice[i][j]);
}
}

Shell