CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

un blem avec for en c

raiku
raiku
Niveau 8
24 février 2005 à 18:18:48
  1. include<stdio.h>
  2. include<stdlib.h>

main()
{
int a;
int b;
int h;
printf("entrez une valeur\n");
scanf("%d",&);
for(a=1; a<=h; a++);
{
b=0;
for(b=0; b<a; b++)
{
printf("*");
}
printf("\n");
}

return 0;
}

Bon voilà le code c cadeau mais il ne fais pas du tout ce que je souhaiterai faire.
Mon but est à partir d´un nombre entrer de creer un triangle d´*.
Je donne un exemple avec la valeur 5:

*

**

***

    • *
    • **

Ce que je ne comprend pas, c´est que normalement, enfin d´après moi, il devrais d´abord afficher une * qui vient de la boucle imbriquée puisque b<a puis lorsqu´il incrémente b, b!=a donc il n´affiche plus * et passe à la suite qui lui dit de sauter une ligne.
Ensuite il incrément a qui est toujours < =h puis il recommence dans la boucle imbriqué b étant égal à 0 il devrait afficher à chaque fois une * de plus qu´avant et vu qu´à chaque fois je lui demande de sauter une ligne il devrait il y´avoir une * à chaque ligne.
C´est ça que je ne comprend pas

Major_T
Major_T
Niveau 10
24 février 2005 à 18:49:01

:salut:
Je débute et je ne peux pas t´aider, car mon apprentissage d´arrête pour l´instant au if.
J´ai une question, tu pourras sûrement m´aider.

En français que signifient ces expressions?

if ( a<b) if ( a<=b) if ( a>b) if(a>=b)

Car j´avoue ne pas les comprendre. :doute:

:merci:

Matbox2
Matbox2
Niveau 7
24 février 2005 à 18:52:56

Major_t if ( a<b) if ( a<=b) if ( a>b) if(a>=b)
signifie si a est inférieur à b
si a est inférieur ou egal à b

si a est supérieur à b
si a est supérieur ou égal à b

Major_T
Major_T
Niveau 10
24 février 2005 à 18:53:54

Ahhhhhhhh c´est comme en maths alors. :honte:
Je pensais pas que c´était aussi simple :rire:
Merci à toi encore une fois.

MrGoTo
MrGoTo
Niveau 8
24 février 2005 à 18:59:31

Raiku
J´ai pas trop compris ce que tu demande mais je vais t´expliquer tes for. Le premier sert juste à incrementer ( augmenter de 1) la variable a. Le second sert à sert à dessiner a * sur la ligne puis lorsque il est terminé on retombe dans le premier for qui s´occupe de sauter une ligne.
Au passage:
b=0;
for(b=0; b<a; b++)
Ton premier b=0 est obsolète puisque ya le même dans ton for ( ce qui est plus joli).
Rappel du for.
for ( 1; 2; 3)
1: Ce code est executé au debut du for, on s´en sert generalement pour les initialisation.
2: Ce code est un test ce qui signifie que tant que l´expression vaut un la boucle continu.
3: Ce code est executé chaque fin de boucle, on s´en sert pour modifier des valeurs.
Hesite pas à reposer une question si j´ai pas repondu ce que tu attendais.

Major_T
Dans l´ordre:
Si a est inferieur à b
Si a est inférieur ou egal à b
Si a est superieur à b
Si a est supérieur ou egal à b
Exemple:
4 < 5 ceci est vrai l´expression vaut 1.
3 > 6 ceci est faux l´expression vaut 0
Le contenu d´un if s´execute quand son expression, son test donne 1.

MrGoTo
MrGoTo
Niveau 8
24 février 2005 à 19:00:03

Matbox tu m´as prit de vitesse :)

Matbox2
Matbox2
Niveau 7
24 février 2005 à 19:18:32

Je sais pas mais c´est normal que tu es mis un points virgule dans ta première instruction for() parce que si tu rajoute un point virgule ça devient une boucle nul

Major_T
Major_T
Niveau 10
24 février 2005 à 19:18:43

Comment fait-on pour écrire en C

Si a=1 ou 2.

if ( a==1

? ?
:merci:
Dois-t´on marquer deux fois if?

Major_T
Major_T
Niveau 10
24 février 2005 à 19:19:21

Doit-on

Matbox2
Matbox2
Niveau 7
24 février 2005 à 19:22:32

Non tu marque if((a==1)||(a==2));

[matbox]
[matbox]
Niveau 8
24 février 2005 à 19:23:17

Sans le point virgule à la fin du if()

Major_T
Major_T
Niveau 10
24 février 2005 à 19:23:35

:merci:

J´ai compris plein de choses là, ok donc j´ai plus de pbs avec ce if.
:-)))

MrGoTo
MrGoTo
Niveau 8
24 février 2005 à 19:26:25

Effectivent Matbox a l´oeil, ya un point virgule après ton premier for qui est de trop.

Matbox2
Matbox2
Niveau 7
24 février 2005 à 19:27:54

:)

raiku
raiku
Niveau 8
24 février 2005 à 20:30:36

merci j´ai mieux pigé le fonctionnement du for.
En fait ce que je cherche à faire c´est de faire un programme qui saisise un entier n et qui affiche un triangle d´étoile de hauteur n.
Ex pour n=3

*

**

***

voilà c´est peut etre plus clair comme ça

raiku
raiku
Niveau 8
25 février 2005 à 11:27:14

je suis sur que y´en a qui savent le faire, , j´ai esaayé mais j´y arrive pas.

MrGoTo
MrGoTo
Niveau 8
25 février 2005 à 11:35:52

Ben tu y étais presque avec le code que tu nous a montré.

En gros.
On augmente n de 1 à la valeur max.
On dessine n etoiles.
On saute une ligne.

dnob700
dnob700
Niveau 10
25 février 2005 à 14:05:51
  1. include<stdio.h>

/ /#include<stdlib.h> pas besoin de ça

main()
{
int a;
int b;
int h;
printf("entrez une valeur\n");
scanf("%d",&);
for(a=1; a<=h; a++) / / a pars le ´;´ en trop ici, tout est parfait
{
/ /b=0 ça sers à rien, tu el fait juste après
for(b=0; b<a; b++)
{
printf("*");
}
printf("\n");
}

return 0;
}

ya pas de rpoblème dans ton code si ce n´est ce qui a déjà été repéré c´est a dire un point virgule en trop après le premier for.

raiku
raiku
Niveau 8
25 février 2005 à 18:12:12

oui merci c t bon juste en effet le ; , mais pourquoi il ne me l´a pas signalé à la compilation? Il n´a pas compté celà comme une faute ?

gollumkawder
gollumkawder
Niveau 10
25 février 2005 à 18:14:47

Il a mal fait son travail

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment