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;
-----