rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[ C ] Tables de multiplication

Posté par sbix, le dimanche 13 mai 2007 à 14:47:41
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
Configuration: Linux Mandriva
Firefox 1.5.0.7
Répondre à sbix  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 13 mai 2007 à 15:02:55
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é :-)) lami20j
Répondre à lami20j

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
sbix, le dimanche 13 mai 2007 à 15:09:27
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
Répondre à sbix

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 13 mai 2007 à 15:18:08
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 :-)) lami20j
Répondre à lami20j

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 13 mai 2007 à 15:32:17
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;
}
lami20j
Répondre à lami20j

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sbix, le dimanche 13 mai 2007 à 15:44:22
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
Répondre à sbix

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 13 mai 2007 à 16:10:20
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

lami20j
Répondre à lami20j

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sbix, le lundi 14 mai 2007 à 21:00:33
Merci pour la précision :-)
Répondre à sbix

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
pampoue, le dimanche 21 octobre 2007 à 18:31:08
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...
Répondre à pampoue

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 21 octobre 2007 à 18:33:25
Salut,

c'est ça que tu veux table de multiplication sous forme de table c#1 ?
lami20j
Répondre à lami20j

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
pampoue, le dimanche 21 octobre 2007 à 18:33:43
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...
Répondre à pampoue

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 21 octobre 2007 à 18:38:05
n'oublie pas d'ajouter getchar(); avant return 0;
lami20j
Répondre à lami20j

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
pampoue, le dimanche 21 octobre 2007 à 18:39:28
Merci beaucoup!!!!!!!!!
Répondre à pampoue

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 jalel eddine, le dimanche 21 octobre 2007 à 20:40:03
#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
Répondre à jalel eddine
Logiciels pertinents trouvés dans les téléchargements
Télécharger Easy Office 1.1.1Easy Office - EasyOffice est une suite bureautique multilingue (Anglais et allemand seulement) possédant une interface graphique très...Catégorie: Suite bureautique
Licence: Freeware/gratuit
Télécharger Tab Catalog 1.4.2008052701Tab Catalog - Cette extension de Firefox apporte un petit confort visuel agréable: Les différents onglet apparaissent sous forme de...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Télécharger CPU-z 1.46CPU-z - CPU-Z est un logiciel gratuit collectant des informations sur les principaux éléments de l' ordinateur : ...Catégorie: Diagnostic
Licence: Freeware/gratuit
Télécharger CCleaner 2.09.600CCleaner - CCleaner (Crap Cleaner) est un utilitaire de nettoyage gratuit permettant de garantir un respect de la vie privée en...Catégorie: Anonymat/Confidentialité
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [ C ] Tables de multiplication »