Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : dtruire les élément d'un tableaux. [ Algorithme / Maths ] (ffnajia)

mardi 25 juillet 2006 à 17:52:20 | dtruire les élément d'un tableaux.

ffnajia

Membre Club
Bonjour ;
j'ai un problème!!
dans une boucle je cherche à déterminer les éléments d'un tableau, je passe à vérifier si ils sont tous nul, je les accépte, mais si je trouve des éléments négatif, il faut éliminer ces éléments crée par des itérations.
alors comment faire pour les détruire???
merci d'avance.

Merci à tous
Najia


mardi 25 juillet 2006 à 18:18:55 | Re : dtruire les élément d'un tableaux.

buno

On ne "détruit" pas la case d'un tableau, on la "vide".
Ce que tu veux faire, c'est décaler les cases d'après pour éviter la case vide? Soit tu le codes, soit tu utilises des listes chainées ou des vecteurs

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

mardi 25 juillet 2006 à 22:20:12 | Re : dtruire les élément d'un tableaux.

SAKingdom

Membre Club
BruNews a publié un snippet ici qui supprimme les retour chariots en décalant la chaine. Suffit de modifier le code à tes besoins.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution

[ Lien ]

mardi 25 juillet 2006 à 23:01:50 | Re : dtruire les élément d'un tableaux.

steve_clamage

En C++, std::remove_if est trés pratique pour ca.

mercredi 26 juillet 2006 à 10:09:12 | Re : dtruire les élément d'un tableaux.

ffnajia

Membre Club

Bonjour ;
Merci beaucoup pour vos réponses, mais malheureusement je trouve ça trés compliquer!!
voila mon programme: mon problème est dans la partie en bleu, je veux qu'il vide à chaque fois le tableau capi??

#include<iostream>
#include<cmath>

using namespace std;

double puis(double x, double y){
       double z;
       z=exp(y*log(x));
       return  z;
       }

double fonct(double x,double n, int i){
       double y;
       if(i==0) y=3*puis(x,n);
       if(i==1) y=1;
       if(i>1) y=0;
       return y;
       }
double uti(double x, int i){
       double y;
       if(i==0) y=log(x);
       if(i==1) y=1./x;
       return y;
       }
double grad(double delta, double x, double z, int n, int j, double h){
       double y;
       y=-((h*exp((n-delta)*j*h))/x)-z*h;
       return y;
       }

int main(){
   
 double delta,h,lambda,capifinal,utilite,ro,epsi,capi0,cd,cg;
    double consom,cap,cap1,alpha,gama,taux,d,p;
    int nb,n,m,ok,iter,compter,number,Maxiter,Maxcompter;
       
    FILE* Ecriture = fopen("donnees_E","w");
    fprintf(Ecriture,"%lf %lf %lf %lf %lf %lf %lf %lf %d %d %d %d",.005,.05,100000.,.8,20.,0.,0.1,0.1,100,8,50,80);
 fclose(Ecriture);
  
    FILE* Lecture = fopen("donnees_E","r");
    fscanf(Lecture,"%lf %lf %lf %lf %lf %lf %lf %lf %d %d %d %d",&alpha,&gama,&capi0,&delta,&lambda,&capifinal,&ro,&epsi,&nb,&n,&Maxiter,&Maxcompter);
    fclose(Lecture);
   
    double* capi = new double [nb];
    double* R=new double [nb];
    double* S=new double [nb];
    double* I=new double [nb];
  
   
    double* mu = new double [nb];
       
    double** conso = new double* [Maxiter+1];
 
     for(int j=0;j<Maxiter;j++) {conso[j]=new double [nb];}
  
    h=1./nb;
    cg=0.; cd=40*capi0;
    capi[0]=capi0;
 

    compter=0;
    cap1=capi[0];
    taux=.05; d=10.; p=10.;
    S[0]=1000.; I[0]=1.; R[0]=0.;
    
    while(compter<Maxcompter  and cap1-capifinal>epsi){
       
         consom=cg+((cd-cg)/2.);             

         for(int i=0;i<nb-1;i++){
    //    if    int i=0;    
            capi[i+1]=capi[i]+h*(fonct(capi[i],.3,0)*fonct(S[i]+R[i],.7,0)-consom-d*I[i]-p*taux*S[i]);
            S[i+1]=S[i]*(1-h*(alpha*I[i]+taux));
            I[i+1]=I[i]*(1+h*(alpha*S[i]-gama));
            R[i+1]=R[i]+h*(gama*I[i]+taux*S[i]);
           
      //      if(capi[i+1]>0.){i+=1;}
          
     //       else break;
          printf("%d %lf %lf %lf \n ",i,capi[i],capi[i+1],capi[nb-1]);  
          
            }

         if(capi[nb-1]>capifinal)cg=consom,cap1=capi[nb-1];
         else cd=consom, cap1=capi[0];
         printf("%lf\n",consom);
        
        

       
        
      //  printf("%lf\n",S[0]);
        
      //   printf("%lf\n",capi[0]);     
        
         compter++;
        
         printf("\n%d\n",compter);
         }
 getchar();
 
    return 0;
}

bonne journée.

Merci à tous
Najia


mercredi 26 juillet 2006 à 20:16:16 | Re : dtruire les élément d'un tableaux.

steve_clamage

Tu peux remplacer
double* capi = new double [nb];

par
std::vector<double> capi(nb);

ensuite tu parcours capi avec un itérateur
for(std::vector<double>::iterator i = capi.begin(); i != capi.end(); ++i)

et dans la boucle pour supprimer un élément c'est (de mémoire)
i = capi.erase(capi.begin() + i);

jeudi 27 juillet 2006 à 10:30:06 | Re : dtruire les élément d'un tableaux.

ffnajia

Membre Club
bonjour ;
quand je fais ça, il me dit dans un message d'erreur que vector is not a member of std!!!!


Merci 
Najia


jeudi 27 juillet 2006 à 16:14:47 | Re : dtruire les élément d'un tableaux.

lolo38550

Salut!

Il faut penser à inclure la classe vector qui appaartient à la librairie standard (STL):
#include <vector>

plus d'info: http://www.sm.u-bordeaux2.fr/~parisy/C++/stl.php


vendredi 28 juillet 2006 à 12:42:04 | Re : dtruire les élément d'un tableaux.

ffnajia

Membre Club

Bonjour ;

Je vous remercie beaucoup de tout, à ce moment je suis entrain de voir les cours sur le lien que tu m'a passer. c'est trés bien.

Merci à tous
Najia




Cette discussion est classé dans : élément, tableaux, éléments, dtruire


Répondre à ce message

Sujets en rapport avec ce message

Les Menus [ par Watermelon ] Comment griser un élément d'un menu sur VC++?J'ai bien essayé avec EnableMenuItem de la class CMenu, mais rien ne se passe (pourtant je pointe sur le un ti pb sur les tableaux [ par Julius Caesar ] On range dans un tableau 8 entiers générés aléatoirement par l'ordi. coment faire pour être sur que chaque nombre généré soit uniquen c'est à dire qu' Division de deux tableaux d'entiers [ par BenHur ] Bonjour, j'ai deux tableaux d'entiers dont chaque indice contient un nombre de 0 à 9. Je dois faire des opérations mathématiques sur chacun de ces ind TABLEAUX SANS ESPACES [ par golum ] char tab[10];../../*je cherche un test pour savoir si un tableau libéré de ses espaces est vide ...*/if(trim(tab)!='') les tableaux et #define [ par cabarrus ] a quoi servent les tableaux [arrays] et l'instruction #define..rhumsek Donner des valeurs au éléments d'un tableaux dans le constructeur d'une classe [ par ProGamer ] Dans la définition de ma classe, j'ai un tableau d'entiers. Dans le constructeur de la classe, j'ai besoin de donner des valeurs aux éléments du table Comment faire des tableaux de chaines de caractères ? [ par ProGamer ] Je veux faire des tableaux de chaines de caractères I want to make arrays of strings, mais en utilisant seulement le type de base, char.J'ai essayé ce Comment faire des tableaux de chaines de caractères ? [ par ProGamer ] Je veux faire des tableaux de chaines de caractères I want to make arrays of strings, mais en utilisant seulement le type de base, char.J'ai essayé ce Pointeurs sur des tableaux de plusieurs dimensions [ par ProGamer ] J'ai besoin de faire des pointeurs sur ce genre de tableaux. Voici comment je m'y prends (et surtout, voici comment ça ne marche pas...):unsigned char Tableau de char* [ par alex1er ] Salut a tousJ'aimerais faire la déclaration suivante dans mon code : char * swSurface[]; //Tableau de char * doncSeulement, le compilo me jete car le


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.