anfel
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

anfel



  1. #1
    invitec85fa43f

    Question anfel


    ------

    salut.
    j'ai des problèmes dans la programmation en c++ builder.
    J'ai besoin de faire sortir "algorithme 1,algorithme 2,max, min" comme des fonctions .pour utiliser juste l'appele de ces fonction dans ma voide ,mais le problème je ne sais pas comment le faire.

    voici ma voide:
    Code:
     void __fastcall Tf_ordonnacer::SpeedButton2Click(TObject *Sender)
    {
    
     t1=Time();
     Table1->Edit();
        Filtre=AnsiString("DatePrevue = '")+ StrToDate(EditDate_interventions->Text)+"'";
        if (EditDate_interventions->Text.IsEmpty())
        {
          Table2->Filtered=false; // Arrête le filtrage de la table
          return; // quitte la methode
         }
       Table2->Filter = Filtre;
       Table2->Filtered=true;
    
    
    
     Filtre=AnsiString("N_bloc = '")+ StrToInt(EditNbloc->Text)+"'";
        if (EditNbloc->Text.IsEmpty())
        {
          Table3->Filtered=false; // Arrête le filtrage de la table
          return; // quitte la methode
         }
       Table3->Filter = Filtre;
       Table3->Filtered=true;
    
    
    
      Filtre=AnsiString("Nbloc = '")+ StrToInt(EditNbloc->Text) +"'";
        if (EditNbloc->Text.IsEmpty())
        {
          Table4->Filtered=false; // Arrête le filtrage de la table
          return; // quitte la methode
         }
       Table4->Filter = Filtre;
       Table4->Filtered=true;
    
    
       Table2->First();
       i=1;
    
        while (!(Table2->Eof))
        {
           {
              P[i]=Table2->FieldByName("N_intervention")->AsInteger;
              TO[i]=Table2->FieldByName("TempsOperation")->AsFloat;
              TR[i]=Table2->FieldByName("TempsReveil")->AsFloat;
              nsal[i]=Table2->FieldByName("Nsalle")->AsInteger;
              nli[i]=Table2->FieldByName("Nlit")->AsInteger;
    
            }
                                i++;
                                  Table2->Next();
                            }
    
    //---------------------------------------------------------------------------
     /////1- Algorithme //////////////////////
     for (i=1;i<=N;i++)
     {  D[i][1]=8;
       F[i][1]=D[i][1]+TO[i]; }
    
       for (i=1;i<=N-1;i++)
       {
          for (j=i+1;j<=N;j++)
            {
             if (nsal[j]==nsal[i])
               {
                 D[j][1]=F[i][1];
              F[j][1]=D[j][1]+TO[j];
               }
            } }
     /////2- Algorithme //////////////////////
    
       for (i=1;i<=N;i++)
      {
       D[i][2]=F[i][1];
       F[i][2]=D[i][2]+TR[i];  
      }
        for (i=1;i<=N-1;i++)
       {
          for (j=i+1;j<=N;j++)
            {
             if (nli[j]==nli[i])
               {
                if(D[j][2]< F[i][2])
                 {
                     D[j][2]=F[i][2];
                     F[j][2]=D[j][2]+TR[j];
               }
               }
            } }
    
    
    ///////////////////////////////////////////////////////////////////////////////
     for(i=0;i<=5;i++)
       {
        for(j=0;j<=20;j++)
        {
          F_resultat->StringGrid1->Cells[i][j]="";  //netoyage
    
        }
       }
    //////////////////////////////////////////////////////////////////////////////
    for(i=1;i<=N;i++)
    {
    
    F_resultat->StringGrid1->Cells[0][i]=P[i];///
    F_resultat->StringGrid1->Cells[1][i]=D[i][1]; ///
    F_resultat->StringGrid1->Cells[2][i]=nsal[i];   ///
    F_resultat->StringGrid1->Cells[3][i]=D[i][2];  //
    F_resultat->StringGrid1->Cells[4][i]=nli[i];
    F_resultat->StringGrid1->Cells[5][i]=D[i][2]+TR[i];
    
    }
    
    ////////////////////////////////////////////------------
    
    //remplir le tableau de resultat
    F_resultat->StringGrid1->Cells[0][0]="N-Intervention";
    F_resultat->StringGrid1->Cells[1][0]="Debut salle";
    F_resultat->StringGrid1->Cells[2][0]="N-Salle";
    F_resultat->StringGrid1->Cells[3][0]="Debut lit";
    F_resultat->StringGrid1->Cells[4][0]="N-lit";
    F_resultat->StringGrid1->Cells[5][0]="Fin lit";
    
     t2=Time();
    
     t3=t2-t1;
     ///////////min://////////////////--------------------
      for (i=1;i<=N;i++)
       {   debut[i]=D[i][1];
       }
     min=debut[1];
          for (i=2;i<=N;i++)
            {
               if (debut[i]<min)
               {   min=debut[i];
               }
            }   //////////////////////////////max/////////////////////
        for (i=1;i<=N;i++)
       {   fin[i]=F[i][2];
       }
    
       max=fin[1];
           for (i=2;i<=N;i++)
            {
               if (fin[i]>max)
               {   max=fin[i];
               }
            }
    
    
       cmax=max-min;

    -----
    Dernière modification par JPL ; 16/01/2009 à 14h23.

  2. #2
    invite0e5404e0

    Re : anfel

    Bonjour et bienvenue !
    Ici c'est la rubrique "boîte à idées"... pour le forum.
    Tu aurais sûrement plus de réponses dans un sous-forum d'info ...
    Bonne journée !

  3. #3
    JPL
    Responsable des forums

    Re : anfel

    J'ai déplacé le sujet vers le bon forum, supprimé la taille excessive des caractères qui avait comme effet d'agresser l'oeil et de rendre le texte difficilement visible, et enfin j'ai mis le code dans une balise Code afin que les indentations soient affichées.
    Dernier point, la charte du forum dit :
    Les titres des messages doivent être explicites.
    Cela fait beaucoup d'erreurs pour un seul message.
    Dernière modification par JPL ; 16/01/2009 à 14h59.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...