La boucle FOR

Résolu/Fermé
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012 - 17 mai 2011 à 22:29
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012 - 17 mai 2011 à 23:43
Bonjour,

Je veut afficher le motif suivant en utilisant la Boucle FOR :
1
12
123
1234
.......
12345678910

j'ai déjà essayé avec ça mais je sais pas où est mon erreur
j'attend vos réponses sérieuses et merci..

#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
for(i=0;i<=10;i++)
{
for(j=0;j<i;j++)
printf("\n");
scanf("%d",&j);
}
getch();
}


A voir également:

3 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
17 mai 2011 à 22:35
Pourquoi utiliser scanf ? Si c'est de l'affichage que tu veux faire, mets printf !
1
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 691
17 mai 2011 à 22:39
Bonjour,

As-tu fait un algorithme du programme avant de taper le code ? Parce si tu avais suivi un algorithme, tu aurais vu où était l'erreur.

Le programme est censé passer une ligne après avoir entrée une série de chiffres (ou nombres)... pas avant, or c'est ce que ton code fait.

Ensuite, l'instruction qui affiche à l'écran est printf et non scanf... scanf sert à entrée une valeur dans une variable.

voici la correction:


#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
for(i=0;i<=10;i++)
{
for(j=0;j<i;j++)
{
printf("%d", j);
}
printf("\n");
}
getch();
} 



Teste pour voir si cela correspond mieux à ton cahier des charges.
0
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012
17 mai 2011 à 22:48
Merci,
nous n'avons pas étudier l'algorithme, on a passer directement au langage C, ça c'est un TP..
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 691
17 mai 2011 à 22:50
C'est étonnant que vous n'ayez pas eu un cours d'algorithme avant d'étudier le langage C. C'est pourtant la base de tout langage informatique.
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
17 mai 2011 à 22:53
Pour faire ce genre de TP, il n'y a pas besoin de trop de théorie non plus...
Tout dépend le niveau et l'intérêt des élèves à la programmation (collégien en technologie, ou lycéen en bachotage...)
0
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012
17 mai 2011 à 22:56
oui 2ème année option physique et on étudie le langage C et le réseaux je sais pas pourquoi tout simplement!!!!
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 691
Modifié par Neliel le 17/05/2011 à 23:03
Certes mais dans son cas, l'algorithme aurait pu l'aider.
0
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012
17 mai 2011 à 22:42
vous avez raison ;-)

Merci..

#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
for(i=0;i<=10;i++)
{
for(j=0;j<i;j++)
{
printf("%d",j);
}
printf("\n");
}
getch();
}
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
Modifié par KX le 17/05/2011 à 23:18
Il serait plus correct de partir de 1 que de 0, puisque c'est comme ça qu'est construit l'exemple.
De plus il vaut mieux mettre <=i plutôt que <i, ça évitera de faire un tour de boucle pour rien, qui afficherait un saut de ligne inutile et oublierait du coup la dernière valeur à afficher !

#include <stdio.h>

const int n=10;

int main()
{
    int i,j;
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=i; j++)
            printf("%d",j);

        printf("\n"); 
    }

    return 0;
}
0
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012
17 mai 2011 à 23:43
on peut aussi faire cela :
for(i=0;i<=n;i++)
{
for(j=0; j<i; j++)
printf("%d",j+1);
0