begin process at 2012 05 30 17:39:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Sortir proprement d'une boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sortir proprement d'une boucle

mardi 5 juillet 2011 à 10:57:05 | Sortir proprement d'une boucle

superjabar

Bonjour à tous, j'ai un problème avec un code de calcul de valeur optimale.

C'est un algorithme de recherche stochastique du même type que le recuit simulé et il y a plusieurs cas suivant où l'on se

situe dans notre calcul, conditions qui une fois vérifiées en fin de boucle if, fait qu'on sort avec exit(0).

Le hic est que je dois me servir des valeur calculées et que cela me fait sortir du main().

J'ai tenté de palier en remplaçant les exit(0) par des return mais rien n'y fait, même un vulgaire cout

ne passe pas à la suit du code d'optimisation.

ex :

Code C/C++ :
if(it > itmax)

            {

             printf(" Execution terminee \n");

             printf(" Convergence non atteinte \n");

			 testb=1;

             return;

            }


Merci d'avance pour l'attention accordée à ce post
mardi 5 juillet 2011 à 11:08:56 | Re : Sortir proprement d'une boucle

buno

Administrateur CodeS-SourceS
Réponse acceptée !
Yop,
exit() est un peu violent: cette méthode met fin, purement et simplement à ton application
return est moins violent: il permet de quitter la méthode en cours
Pour sortir d'une boucle et pouvoir exécuter le code qui la suit, il te faut utiliser la méthode continue:

Code C/C++ :
for (int i=0; i<imax; i++)
{
  ...
  if (condition remplie)
  {
    continue;
  }
}
// ici, le code à exécuter au sortir de la boucle



@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 5 juillet 2011 à 13:08:15 | Re : Sortir proprement d'une boucle

superjabar

Merci Buno, ta solution fonctionne bien et ça me changera des return sans argument.

A+
mercredi 6 juillet 2011 à 09:09:24 | Re : Sortir proprement d'une boucle

louis14

Bonjour,
Juste une question à Buno en ce qui concerne "continue" et au regard de ce que j'avais appris en C ( cf ce lien http://cplus.about.com/od/learningc/ss/clessonfive_3.htm). Je croyais que "continue" arrêtait les instructions suivantes de la boucle et on revenait au début de la boucle ( ce que je fais dans mes programmes), alors que "break" fait sortir de la boucle.
Y-a-t-il une subtilité avec le "if"?
Merci pour ta réponse.


louis


louis
mercredi 6 juillet 2011 à 09:57:58 | Re : Sortir proprement d'une boucle

buno

Administrateur CodeS-SourceS
Yop,
Mea culpa: Louis14 a tout à fait raison: je pensais à l'instruction "break" et j'ai noté "continue".
continue te fais repasser au tour de boucle suivant alors que break met fin à la boucle


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 6 juillet 2011 à 10:51:57 | Re : Sortir proprement d'une boucle

superjabar

Ecoutez, sur votre bonne foi, j'ai changé le continue en break mais ça marchait déjà et ça continue à marcher.

Tout ce qu'il fallait éviter dans mon cas, c'est le violent exit(0).

A+
mercredi 6 juillet 2011 à 10:54:06 | Re : Sortir proprement d'une boucle

buno

Administrateur CodeS-SourceS
Peux-tu me montrer ton code, s'il te plaît? J'aimerais voir dans quel cas tu es exactement.


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...


Cette discussion est classée dans : boucle, code, proprement, calcul, sortir


Répondre à ce message

Sujets en rapport avec ce message

stopper une boucle for et la recommencer [ par danis56 ] Bonjour , J'ai un probleme avec une partie de mon programme . Je doit bloquer une boucle for a l'interieur de son code et je n'y arrive pas , j'ai ess Questions sur les boucles [ par akaras ] Bonjour à tous,J'aimerai faire une boucle infinie pour raffraichir des infos ...Le probleme quand je faitwhile(1)[{}</ Algo utile ou complètement "bidon"?? [ par ninjagtr ] Bonjour,Je suis tombé sur un bout de code et je ne sais pas s'il a une utilité (autre que de me faire chercher lol).Voici le code : int Devinez(int x) detecter la pression d'une touche [ par ben01n ] salut toutle mondej'ai un prog qui effectue une boucle infinie avec des instructions à l'interieurmon problème est que je voudrais pouvoir appuyer sur sortir d'une boucle [ par adeteine ] Salut, J'ecris un petit logiciel de compte à rebours spécifique avec un bouton start et un bouton stop sur visual c++ 6.0. En cliquant sur start, mon Boucle infini [ par angelfire0808 ] Voici mon code, par exemple : Code : C do { <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.htm svp sauvez moi!!!!!!! par le code en c de calcul de l'integral approché [ par imanet ] svp je cherche un code en c qui calcul l'integral approché d'une fonction.svp repandez moi le plus vite possible:imanet_5@hotmail.com Comment sortir du code machine sur visual C++ [ par wallie0703 ] Bon je débug mon programme avec Visual C++ 2008? en fait j'ai eu un message qui me demandais d'afficher oui ou non le code machine et moi j'ai mis "ou Boucle ne s'éxécute pas [ par Niwrad ] Bonjour à tous, Je suis plus ou moins débutant en programmation C, Je souhaite créer un programme (console) m'affichant une pyramide d'étoiles en fonc ajouter des modules définies par l'utilisateur [ par boualiasma ] Bonjour, J'ai utilise dans mon programme principal "main.c deux modules : - "calcul.c" et "calcul.h" - "traitement.c" et "traitement.h" Est ce que je


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,246 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales