begin process at 2012 05 29 06:50:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Impossible de rentrer dans une boucle for


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

Impossible de rentrer dans une boucle for

jeudi 21 juillet 2005 à 14:05:07 | Impossible de rentrer dans une boucle for

fred100582

Salut, j'ai un gros probleme qui me laisse sans réponse, je n'arrive pas à rentrer dans la boucle for suivante:
for(i=0;i<cptTimesArray;i++)
              {
                printf("Lecture des donnees\n");
                fscanf(fIn, "%f %f %d", &bufDeterministTime ,&bufEspionsTime, &bufNbLMDs);

                sumDeterministTime+=bufDeterministTime;
                sumEspionsTime+=bufEspionsTime;
                sumLMDs+=bufNbLMDs;
              }
Quelqu'un peut-il m'expliquer ce qui se passe?
Merci.

jeudi 21 juillet 2005 à 14:13:02 | Re : Impossible de rentrer dans une boucle for

buno

Administrateur CodeS-SourceS
cptTimesArray est sûrement <= 0 donc tu ne rentre pas dans la boucle

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
jeudi 21 juillet 2005 à 14:30:56 | Re : Impossible de rentrer dans une boucle for

fred100582

En fait mon programme s'arrete plus tot, au niveau du if(fIn==NULL)
                                                                                  continue;

Voila le code complet:
void main(int argc, char **argv)
{
  FILE *fIn=NULL;
  FILE *fOut=NULL;
  float randPercent, crossPercent, mutPercent, stepPercent=10.0f;
  float alpha, orangeSkin, lmdsSize = 10.0, bvSize;
  int nbPions = 500;
  int nbGen = 10;
  int cptTimesArray = 0,i;
  int cptposition = 0;
  char filename [64],filename_results [64];
  float bufEspionsTime, bufDeterministTime;
  int bufNbLMDs;
  float sumDeterministTime, sumEspionsTime;
  int sumLMDs;sprintf(filename_results,"%s_%d","results/ESP_static",
                                    (int)lmdsSize);
  strcat(filename_results, ".xls");
  fOut=fopen(filename_results,"wt");
  fprintf(fOut, "Determinist Time\tEspions Time\tNb LMDs:\n");

  printf(" Debut de l'analyse des donnees\n");
  for(randPercent=0.0;randPercent<=100.0;randPercent+=stepPercent)
    {
      for(crossPercent=0.0;crossPercent<=100.0-randPercent;crossPercent+=stepPercent)
      {
        mutPercent = 100.0 - randPercent - crossPercent;
        {
          for(bvSize=1.0;bvSize<=30.0;bvSize += 2.0)
          {
            for(lmdsSize=10.0, alpha=1.0; alpha<=5.0; alpha += 0.2)
            {
              orangeSkin = alpha * lmdsSize;

              /*sprintf(filename,"%s%s_%d_%d_%d_%d_%d",iFolder,
                                                    "times/ESP_static_",
                                                    (int)randPercent,
                                                    (int)crossPercent,
                                                    (int)mutPercent,
                                                    (int)orangeSkin,
                                                    (int)bvSize);*/
             
              sprintf(filename,"%s_%d_%d_%d_%d_%d","times/ESP_static",
                                                    (int)randPercent,
                                                    (int)crossPercent,
                                                    (int)mutPercent,
                                                    (int)orangeSkin,
                                                    (int)bvSize);

              fIn=fopen(filename,"rt");
 
              if(fIn==NULL)
                continue;
             
              sumDeterministTime = 0.0;
              sumEspionsTime = 0.0;
              sumLMDs = 0;
             
              for(i=0;i<cptTimesArray;i++)
              {
                printf("Lecture des donnees\n");
                fscanf(fIn, "%f %f %d", &bufDeterministTime ,&bufEspionsTime, &bufNbLMDs);

                sumDeterministTime+=bufDeterministTime;
                sumEspionsTime+=bufEspionsTime;
                sumLMDs+=bufNbLMDs;
              }

              fprintf(fOut, "%f\t%f\t%d\n", (float)sumDeterministTime, (float)sumEspionsTime, (int)sumLMDs);
              fclose(fOut);
              fOut=NULL;
            }
          }
        }
      }
    }
 
  printf(" Fin de l'analyse des donnees\n");
}

jeudi 21 juillet 2005 à 14:59:40 | Re : Impossible de rentrer dans une boucle for

buno

Administrateur CodeS-SourceS
Premièrement, filename n'a pas d'extension (alors que filename_results oui) mais ce n'est peut-être pas nécessaire...
Deuxièmement, est-ce que 64 caractères pour tes noms de fichiers suffisent?
Troisièmement, cptTimesArray est initialisé à 0 mais ne change jamais de valeur donc tu ne risque pas d'entrer dans ta boucle

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
jeudi 21 juillet 2005 à 15:04:22 | Re : Impossible de rentrer dans une boucle for

MNEMONIC

Si ton fopen est toujours null, ton continue te fait boucler sur la boucle
for(lmdsSize=10.0, alpha=1.0; alpha<=5.0; alpha += 0.2)
sans jamais passer dans la suite du code...

Essaye d'afficher un message pour vérifier que ton ouverture se fait bien...
jeudi 21 juillet 2005 à 15:12:35 | Re : Impossible de rentrer dans une boucle for

fred100582

Le probleme ne vient pas de l'extension de filename ou du nombre de carctères, j'ai déjà vérifié çà. Par contre je ne parviens pas à changer le valeur du cptTimesArray et quand je le remplace par un entier, çà ne marche pas non plus.
Je ne vois pas du tout comment faire cela alors si tu as une idée, elle sera la bienvenue chez moi!!!

jeudi 21 juillet 2005 à 15:31:21 | Re : Impossible de rentrer dans une boucle for

fred100582

Effectivement, il semble bien que le probleme vienne du fait que le fopen est toujours null mais les fichiers a traiter sont dans le répertoire "times" et ils contiennent tous des données alors je comprends pas.
jeudi 21 juillet 2005 à 15:34:54 | Re : Impossible de rentrer dans une boucle for

buno

Administrateur CodeS-SourceS
Quand tu mets un cheùin de fichier dans une chaine de caractères, n'oublie pas de doubler le caractère '\':
fprintf(chaine,"%s_%d",'C:\\test\\truc, i);

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
jeudi 21 juillet 2005 à 16:12:52 | Re : Impossible de rentrer dans une boucle for

fred100582

Je ne met aucun chemin d'acces mais mon fichier results se crée dans le bon repertoire donc je ne comprends pas pourquoi la lecture poserais un pb.
jeudi 21 juillet 2005 à 16:27:48 | Re : Impossible de rentrer dans une boucle for

buno

Administrateur CodeS-SourceS
sprintf(filename,"%s_%d_%d_%d_%d_%d","times/ESP_static",
                                                    (int)randPercent,
                                                    (int)crossPercent,
                                                    (int)mutPercent,
                                                    (int)orangeSkin,
                                                    (int)bvSize);

Moi, je ferais:
sprintf(filename,"%s_%d_%d_%d_%d_%d","times\\ESP_static",
                                                    (int)randPercent,
                                                    (int)crossPercent,
                                                    (int)mutPercent,
                                                    (int)orangeSkin,
                                                    (int)bvSize);

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...

1 2

Cette discussion est classée dans : boucle, impossible, for, rentrer, bufdeterministtime


Répondre à ce message

Sujets en rapport avec ce message

La boucle FOR [ par C++ ] Ou est l erreur svp :for (int i=0;i MessageBox (i); boucle avec for,petite question! [ par chris5874 ] bonjour à tous,j'aimerai savoir si dans une boucle for(initialisation;condition;expression),bref,une boucle normale,j'aimerai savoir si la condition e 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 BOUCLE for [ par juliansk ] je cherche comment générer une suite logque a 4 termes.ex:2 4 8 16. J'ai imaginé le faire de cette manière: je génère un premier chiffre avec la fonct ralentir boucle for [ par neo_00110010101 ] Alors voilà mon problème :for(debut; arrivee; avance1++) { cout (avance1 + rand1 == avance1); if (avance1 >= arrivee)break; }Cette boucle est trop URGENT: 2 boucles for en une? [ par bethany ] Bonjour a tous et a toutes,Dans mon programme j'ai 2 boucles for du stylefor(i=0; i{.............} for(i=0; i{..........}Sachant que le nombre auquel problème avec une boucle for!! [ par speeddo ] Bonjour,dans mon programme, je récupère dans une variable tampon des éléments appelés attibuts.Puis je voudrais m'en occuper, les envoyer vers excel p boucle for [ par skyman272 ] Bonjour,   Est ce que quelqu'un connait la signification d'un for (;;) ... return 0;   C'est une boucle for dans un programme linux que je dois modifi probleme boucle for [ par nashoy ] Bonjour,un [probablement] simple probleme : seul ma premiere boucle s'execute ;#include #include using namespace std; [C] Variable Long dans une boucle for [ par nitrique ] Bonjour @ tous,J'ai une fonction qui me renvoie un long (une quantité).Et j'aimerais faire une boucle sur le résultat de cette fonction, seulement, si


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 : 0,811 sec (3)

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