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

blem de while

rezytre
rezytre
Niveau 5
27 octobre 2003 à 13:40:25

j´ai fait des int a, int b, int c, int d.
a=0, b=0, c=0, d=0
en entrant d valeurs, en obtient a=1, b=1, c=1, d=1.
que doit je mettre dans le while pour que la boucle s´arrète qd j´ai a=1, b=1, c=1, d=1 ?

freedix
freedix
Niveau 10
27 octobre 2003 à 13:43:52

while ( a ! = 1 && b ! = 1 && c ! = 1 && d ! = 1 )

rezytre
rezytre
Niveau 5
27 octobre 2003 à 13:58:03

en fait g une ligne à l´écran:
0000000

voila:
donc 0=a, 0=b...0=g

je veux que le prog s´arrete qd 4 valeurs côte-à-côte sont égales à 1:
ex:0011110

donc je mets dans le while:
while( a!= 1 , b!= 1 , c!= 1 , d!= 1 && b!= 1 , c!= 1 , d!= 1 , e!= 1 && c!= 1 , d!= 1 , e!= 1 , f!= 1 && d!= 1 , e!= 1 , f!= 1 , g!= 1)

seulement pour que le prog s´arrete, il faut que g=1.
si a=1 b=1 c=1 d=1:
le prog continue.

freedix
freedix
Niveau 10
27 octobre 2003 à 14:30:29

// On déclare un tableau de 7 élément ( les 7 colonnes )
char position[ 7 ];

/* On fit une boucle tant que nous ne somme pas arrivés dans l´élément 5 du tableau, car si l´on est à l´élément 5 du tableau, il ne peut y avoir que 3 case maximum d´alignées */
for ( int i = 0; i < 4; i++) {
if ( position[ i ] == 1 ) // Si on trouve un élément de tablau qui contient le chiffre 1
if ( position[ i + 1 ] == 1 && position[ i + 2 ] == 1 position[ i + 3 ] == 1 ) /* On fait un test pour savoir si les 3 suivants on le chiffre 1 aussi */
std::cout < < " 4 valeurs égales à 1 alingées " < < endl;
}

Je pense que ça devrait marcher et ça devrait être aussi facilement améliorable :)

JeanYvesYves
JeanYvesYves
Niveau 10
27 octobre 2003 à 16:58:09

Et oui, n´oublie pas le for ! !

imagine que tu aies 200 lignes ? ??
tu ferais :

int a,b,c,d, . ........
a=0;
b=0;
c=0;
. ...

attention a ça ! ! tu vas ne plus savoir ou tu en es ! !

fait plutot pour ce cas :

int t[200];
int a;
for(a=0;a<200;a++)
t[a]=0;

et voila ! en 4 lignes : ce que tu aurais fait en + de 200 ! !

VIVE LE FOR ! !!!!

et au lieu d´avoir les variables a,b,c,d...
tu as t[0],t[1],t[2], . .. C bien mieux ! !!

JeanYvesYves
JeanYvesYves
Niveau 10
27 octobre 2003 à 17:04:14

tiens, je te donne un algo : pour que le prog s´arrete quand tu as 4 " 1" de suite :
tu tapes, au dessus de ton main ceci :

int TestQuatrePions(int* t,int taille)
// reverra 1 si y´a 4 pions a coté, 0 sinon
{
int a;
int nbconsecutif=0; // nb de 1 trouvés
for(a=0;a<taille;a++)
{
if ( t[a]==1) nbconsecutif++;
else nbconsecutif=0;
if ( nbconsecutif==4) return 1;
}
return 0;
}

ensuite, dans ton main, tu fais :

while(nbconsecutif(t,7)==0)
// tant que y´a pas 4 pions de suite : tu boucles.
{
. ..

}

remarques : tu as mis 7 ( 7 colonnes), mais tu aurais pu mettre 10000, ça aurait marché aussi sans allonger le code ! !

tu vois un peu la logique ?

ce que je t´ai fait écrire au dessus est une fonction que tu crées, tu vois la logique ? en C, on crée bcp de fonctions ! !
Essaie de la dérouler sur un exemple pour voir comment elle marche :)

JeanYvesYves
JeanYvesYves
Niveau 10
27 octobre 2003 à 17:05:42

Erreur de ma part, au niveau du while : il faut mettre :

while(TestQuatrePions(t,7)==0)

voila :)

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