Probleme d'impression en c

Bonjour,

j'ai un problème avec printf dans mon code MPI en c

printf("les cartes sont ");
for(i=0;i<6;i++) printf(" %d", msgCard.tirage[i]);
printf("\n la cible est %d",msgCard.cible);
lorsque les 2 premiers printf s'execute le derniers boucles, et si j'inverse en mettant le dernier au dessus des 2 autres alors il imprime bien et les deux autres non

merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Je ne sais pas ce que tu utilises comme type pour msgCard, en tout cas, il n'y a pas de problème avec les printf :

    typedef struct structCard 
    {
    	int tirage[6];
    	int cible;
    } card;
    
    int main() 
    { 	
    	card msgCard={1,3,5,7,9,11,42};
    	int i;
    	printf("les cartes sont "); 
    	for(i=0;i<6;i++)
    		printf(" %d", msgCard.tirage[i]);
    	printf("\n la cible est %d",msgCard.cible);
    } 
    
    les cartes sont  1 3 5 7 9 11
     la cible est 42
    1. msgCard est de type:
      typedef struct nbre{
      int tirage[6];
      int cible;
      } SetNbre;

      msgCard est generé par:

      SetNbre genTirageNber(){
      int i, j=0;
      int isUse[6];
      SetNbre jeu;

      srand( (unsigned)(time( NULL )));
      for(i=0;i<6;i++){
      do{
      jeu.tirage[i]=SetCard[rand()%13];
      }while(isThere(jeu.tirage[i], isUse));

      isUse[j]=jeu.tirage[i];
      j++;

      }

      do{
      jeu.cible=rand();
      } while( (jeu.cible < 100) || (jeu.cible > 999));

      return jeu;
      }

      merci de bien vouloir voir mon problème
      1. Modérateur
        Quand fais-tu appelles à tes printf ?

        De plus :

        do
        { 
        	jeu.tirage[i]=SetCard[rand()%13]; // qu'est-ce que SetCard ?
        }
        while(isThere(jeu.tirage[i], isUse)); // qu'est-ce que isThere ?

        Enfin, remplace la deuxième boucle :

        do
        { 
        	jeu.cible=rand(); 
        }
        while(jeu.cible<100 || jeu.cible > 999); 
        

        par :

         jeu.cible=100+900*rand()/RAND_MAX; // tirage aléatoire sur [100,1000[
        1. en fait j'avais oublié, j'utilise MPI
        2. Modérateur
          je ne connais pas MPI, mais ça ne change en rien ma réponse