Matrice
Résolu/Fermé
ab11
Messages postés
7
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014
-
Modifié par ab11 le 3/12/2014 à 16:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 4 déc. 2014 à 22:27
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 4 déc. 2014 à 22:27
2 réponses
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 342
3 déc. 2014 à 16:16
3 déc. 2014 à 16:16
Bonjour,
Rappel :
Rappel :
CCM ne fait pas les devoirs. Des conseils peuvent être demandés mais il ne faut pas espérer obtenir la solution.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
3 déc. 2014 à 16:37
3 déc. 2014 à 16:37
Bonjour,
Poste le code que tu as trouvé avec 2 boucles pour qu'on t'orientait vers la bonne solution.
N'oublie pas d'utiliser la balise "code c".
Exemple :
<code c>ici tu mets ton code</code>
Poste le code que tu as trouvé avec 2 boucles pour qu'on t'orientait vers la bonne solution.
N'oublie pas d'utiliser la balise "code c".
Exemple :
<code c>ici tu mets ton code</code>
ab11
Messages postés
7
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014
Modifié par ab11 le 3/12/2014 à 17:25
Modifié par ab11 le 3/12/2014 à 17:25
oky :)
for (i=1; i<n;i++) { for (i=j; j<n;j++) m [i] [j]=i+j;} }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
3 déc. 2014 à 17:15
3 déc. 2014 à 17:15
C'était </code> qu'il fallait mettre en fin de balise. Sinon, ça ne marche pas.
Par rapport, à ton code, n'oublie pas que les tableaux commencent à l'indice 0 en C. Donc, c'est i=0 et non i=1.
Ensuite, tu as oublié d'initialiser j. Tu as fait i=j, plutôt j=i non ? Mais dans ce cas, tu oublieras d'initialiser une partie de la matrice. Il faut plutôt mettre j=0;
Tu as oublié également une accolade ouvrante après le deuxième for.
Sinon, pour faire ton programme en une seule boucle, il faut parcourir la matrice en une seule boucle et donc considérer ta matrice comme un tableau. Il te suffit donc de parcourir m[0][j] avec j variant de 0 à X (à toi de trouver X ;-)).
Par rapport, à ton code, n'oublie pas que les tableaux commencent à l'indice 0 en C. Donc, c'est i=0 et non i=1.
Ensuite, tu as oublié d'initialiser j. Tu as fait i=j, plutôt j=i non ? Mais dans ce cas, tu oublieras d'initialiser une partie de la matrice. Il faut plutôt mettre j=0;
Tu as oublié également une accolade ouvrante après le deuxième for.
Sinon, pour faire ton programme en une seule boucle, il faut parcourir la matrice en une seule boucle et donc considérer ta matrice comme un tableau. Il te suffit donc de parcourir m[0][j] avec j variant de 0 à X (à toi de trouver X ;-)).
ab11
Messages postés
7
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014
3 déc. 2014 à 17:23
3 déc. 2014 à 17:23
fiddy
Je ne comprends pas la methode Pouvez-vous écrire cvp ??
Je ne comprends pas la methode Pouvez-vous écrire cvp ??
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
3 déc. 2014 à 18:37
3 déc. 2014 à 18:37
Les éléments d'une matrice sont placés les uns à la suite des autres.
Par exemple, la matrice :
est en fait stockée
Si tu fais int *p=m[0]; tu pointeras vers ce tableau. Ainsi en faisant p[9] tu accèderas à la dernière case (ici 8).
Par exemple, la matrice :
0 1 2
3 4 5
6 7 8
est en fait stockée
0 1 2 3 4 5 6 7 8en mémoire.
Si tu fais int *p=m[0]; tu pointeras vers ce tableau. Ainsi en faisant p[9] tu accèderas à la dernière case (ici 8).
ab11
Messages postés
7
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014
Modifié par ab11 le 3/12/2014 à 19:41
Modifié par ab11 le 3/12/2014 à 19:41
fiddy cvp modifier la solution de 2 boucl ta methode est tree difisile pour mois ????
JE SUIS UN novice est on suposee que i et j comensee a l'indic 1 pas 0.
utilisee un boucle pour creé une matrice n*n dans laquelle la valeur de chaque élément est la somme de ses indice (le numéro de la ligne et la numéro de la colonne de chaque élément )par exemple la valeur de A(2,5) est 7 est merci otre fois fiddy
JE SUIS UN novice est on suposee que i et j comensee a l'indic 1 pas 0.
utilisee un boucle pour creé une matrice n*n dans laquelle la valeur de chaque élément est la somme de ses indice (le numéro de la ligne et la numéro de la colonne de chaque élément )par exemple la valeur de A(2,5) est 7 est merci otre fois fiddy
3 déc. 2014 à 16:17
3 déc. 2014 à 16:23
Sais-tu ce que signifient les termes de l'énoncé ? T'es-tu demandé comment, en sachant leur sens, tu dois faire pour enchainer les opérations ? Comment simplifier tout cela en une boucle ?..
3 déc. 2014 à 16:29