Aider moi plz avant le 5 avril

riadusse Messages postés 1 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 3 avril 2009 - 3 avril 2009 à 23:56
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 - 4 avril 2009 à 14:39
voici mon programme de simulation de processus selon la méthode SJF
j ai pas compris pourquoi l affichage est très très bizarre voici mon programme en c++ merci de votre aide d avence

#include<stdio.h>
#include<stdlib.h>
typedef struct{int ta;int texe;char nom[5];}processus;
int main()
{
processus t[100];
processus aff[100];       
processus x,y;
int n,aux,i,j,z,indmin,s,e;

printf("donner le nembre de processus\n");
scanf("%i",&n);
for(i=0;i<n;i++)
{
            
                      printf("donner le nom du processus n\n");
                      scanf("%s",&t[i].nom);
                      printf("donner le temp d arriver du processus n\n");
                      scanf("%i",&t[i].ta);
                      printf("donner le temp d execution du processus n\n");
                      scanf("%i",&t[i].texe);
}
 for(i=0;i<n-1;i++)
                                     
                                      {
                                                      indmin=i;
                                                        for(j=i+1;j<n;j++)
                                                        {
                                                      if(t[j].texe<t[indmin].texe)
                                                      {
                                                                           indmin=j;
                                                                         
                                                                         
                                                      }
                                                      }
                                                      x=t[i];
                                                      t[i]=t[indmin];
                                                      t[indmin]=x;
                                                     
                                      }

z=0;
e=1;
while(e==1)
{
          e=0;
for(i=0;i<=n;i++)
{
               
               
                if((t[i].ta<=s)&&(t[i].ta!=999))
                {
                                             
                                              aff[z]=t[i];
                                              s=0;
                                              s=s+aff[z].texe;
                                              z++;
                                              t[i].ta=999;
                                              e=1;
                }
               
}
}
for(i=0;i<n;i++)
{
                printf("%i\n",&s);
}

system("pause");

}

1 réponse

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
4 avril 2009 à 14:39
Quelques remarques (non exhaustives) :
tu utilises s sans l'avoir initialisée
printf("%i\n",s) et non &s : tu afficherais l'adresse mémoire de s et non pas son contenu
Par ailleurs, à quoi ça sert d'afficher n fois la même chose?

y a d'autres trucs, mais corrige déjà ça et réfléchis bien à la suite...
0
Rejoignez-nous