Posez votre question Signaler

[ C ] Tables de multiplication [Résolu]

sbix 16Messages postés dimanche 13 mai 2007Date d'inscription 7 novembre 2007Dernière intervention - Dernière réponse le 3 févr. 2011 à 19:57
Salut à tous....
Je suis entraint de faire des exercices en C et je bug sur un (enfin pour l'instant il n'y a que un), Il est question d'afficher les tables de multiplication de 1 à 9 en utilisant les boucle...
J'ai pas mal réfléchis, masi je ne trouve pas la méthode...
Voici le lien vers l'exercice (bas de page) : http://inferno.cs.univ-paris8.fr/~am/tutorial/C/Cours-4.html#ss4.7
Merci
Lire la suite 
Réponse
+11
moins plus
c'est normal puisque printf tu l'as mis à l'extérieur des boucles donc il ne va afficher que le dernier résultat 81
si tu veux qu'il affiche tout il faut mettre printf à l'intérieur de la boucle interne et tu fait ça avec les accolades
#include<stdio.h>

/* Ce programme permet d'afficher les tables de multiplication de 1 à 9 */

int main (void)
{
  int i, j; /* declaration de i et j */
  int resultat = 0;
  for (i = 1; i < 10; i++)
    for (j = 1; j < 10; j++){
        resultat = i * j;
        printf ("%d\n", resultat);
      }
  return 0;
}
pour affichage tu peux utiliser plutôt
printf ("%d x %d = %2d\n",i,j,resultat);

/* declaration de i et j */
ce commentaire n'est pas nécessaire, on voit bien que c'est une déclaration des variables :-))
Ajouter un commentaire
Réponse
+5
moins plus
Salut,

ça ne sers pas à grande chose de te donner la solution
essaie plutôt de nous montrer comment tu vois la résolution de cet exercice et nous affiché un bout de code, ensuite on va essayer de t'aider. (Un petit indice : ce n'est pas compliqué :-))
Ajouter un commentaire
Réponse
+5
moins plus
en fait tu n'avais pas besoin de la variable resultat
#include<stdio.h>

/* Ce programme permet d'afficher les tables de multiplication de 1 à 9 */

int main (void)
{
  int i, j; /* declaration de i et j */
  for (i = 1; i < 10; i++)
    for (j = 1; j < 10; j++){
        printf ("%d x %d = %2d\n",i,j,i*j);
      }
  return 0;
}
Ajouter un commentaire
Réponse
+3
moins plus
Et bien j'ai pensé à ceci mais il ne ne marche pas correctement
#include<stdio.h>

/* Ce programme permet d'afficher les tables de multiplication de 1 à 9 */

int main(void)
{
int i, j; /* declaration de i et j */
int resultat = 0;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
resultat = i*j;
printf("%d\n", resultat);
return 0;

}


PS: je n'y suis pas arrivé tout seul :-D
Ajouter un commentaire
Réponse
+3
moins plus
pardon j'ajoute ce que j'ai truvé comme programme pour vous donner une idée
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
printf("X*Y |");
for(i=0;i<=10;i++)
{printf(" %d",i);}
printf("\n");
for(i=0;i<=50;i++)
{printf("-");}
printf("\n");
for(i=0;i<=10;i++)
{printf(" %d |",i);
for(j=0;j<=10;j++)
{printf(" %d",i*j);}
printf("\n");}
system ("pause");
return(0);
}
voila je ne trouve pas comment éviter le décalage...
Ajouter un commentaire
Réponse
+3
moins plus
n'oublie pas d'ajouter getchar(); avant return 0;
Ajouter un commentaire
Réponse
+3
moins plus
Ajouter un commentaire
Réponse
+2
moins plus
#include <stdio.h>
main()
{
const int MAX = 10; /* nombre de lignes et de colonnes */
int I; /* compteur des lignes */
int J; /* compteur des colonnes */

/* Affichage de l'en-tête */
printf(" X*Y I");
for (J=0 ; J<=MAX ; J++)
printf("%4d", J);
printf("\n");
printf("------");
for (J=0 ; J<=MAX ; J++)
printf("----");
printf("\n");

/* Affichage du tableau */
for (I=0 ; I<=MAX ; I++)
{
printf("%3d I", I);
for (J=0 ; J<=MAX ; J++)
printf("%4d", I*J);
printf("\n");
}
return 0;
}
voila cette solution j'espere que j'avais aide cette fois
saado peace- 30 déc. 2010 à 13:10
system ("pause");
Répondre
titrit- 3 févr. 2011 à 19:57
merci bcp pour les réponses
Répondre
Ajouter un commentaire
Réponse
+1
moins plus
Merci de ton aide.
Je récapitule la structure :
Soit trois variables : i, j et resultat, valant réspéctivement 1, 1 et 0

On incrémente la variable i de 1 tant que i est inferieur à 10
Pour chaque incrémentation de i, on multiplira sa valeur par j et on la stoquera dans resultat puis on l'affichera, et cela, tant que la variable j est inferieur à 10, donc autant de fois que i.

J'éspère que je ne me trompe pas... En tout cas, le code marche bien
lami20j 21514Messages postés jeudi 4 novembre 2004Date d'inscription Contributeur sécuritéStatut 8 octobre 2012Dernière intervention - 13 mai 2007 à 16:10
Je récapitule la structure :

En fait le mot structure a un autre sens dans le langage C

Ce de quoi te parle c'est plutôt l'algorithme de ton programme.
Dans une phrase ça donne quelque chose comme ça :
chaque i de 1 à 9 compris, on le multiplie avec chaque j de 1 à 9 compris et on affiche le résultat

Répondre
Ajouter un commentaire
Réponse
+1
moins plus
Merci pour la précision :-)
Ajouter un commentaire
Réponse
+1
moins plus
coucou!!
Je viens de commencer l'informatique
moi je n'arrive pas a afficher ma table de multiplications.
j'ai lu vos programmes ça c'est bon j'arrivais déjà à le faire.*
Ce que je n'arrive pas à affficher comme je veux c'est une ligne en plus avec les valeurs de x et une colone en plus avec les valeurs de y et enfin une ligne et une colone de "tirets" pour séparer les deux.Le résultat que j'obtien est tout décalé!!!
PS:je ne doit pas utiliser de tableau pour cet exercice...
lami20j 21514Messages postés jeudi 4 novembre 2004Date d'inscription Contributeur sécuritéStatut 8 octobre 2012Dernière intervention - 21 oct. 2007 à 18:33
Salut,

c'est ça que tu veux table de multiplication sous forme de table c#1 ?
Répondre
Ajouter un commentaire
Ce document intitulé «  [ C ] Tables de multiplication  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.