IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Tableau de float.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut Tableau de float.
    Salut,

    Je veux créer un tableau ( 1 dimension) de variables de type float dont j'augmenterai la taille au fur et à mesure ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void main()
    {
     
     float *tab=0;
     
     for (int i=0;i<10;i++)
     {
      tab = new float * [i];
     }
    }
    Seulement çà ne marche pas... est ce quelqu'un peut m'aider, merci.

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    std::vector plutôt que de t'amuser à le réinventer avec les pointeurs.

    int main(), pas void main().

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    int main(), pas void main().
    Tiens, pourquoi on a pas le droit de faire un void main() ?

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Faiche
    Tiens, pourquoi on a pas le droit de faire un void main() ?
    Parce que la norme indique deux signatures portables pour main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int main();
    int main(int, char**);
    autorise d'autres signatures à être supportées par l'implémentation mais demande qu'elles retournent toutes int.

  5. #5
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Donc si je vous comprend bien, il vaut mieux que je fasse comme suit si dans je veux créer un tableau 1 dimension, augmenter sa taille au fur et à mesure et rentrer 1.5 comme valeur partout:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include<vector>
     
    int main()
    {
     vector<float> tab;
     
     for (int i = 1; i<10; i++)
     {
      tab.push_back(vector<float>(i));
      tab[i] = 1.5;
     }
    }

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    ou alors tu pourrais faire simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    int main()
    {
     std::vector<float> tab;
     
     for (int i = 1; i<10; i++)
     {
        tab.push_back(1.5);
     }
    
     return 0;
    }

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    ça ne marche pas parce qu'il me semble que new n'est pas réallocable

    Donc soit tu fais du C et tu utilises malloc et realloc, soit tu fais du c++ et tu utilises un std::vector (#include <vector>), ce que je te conseille.

    Pour plus de précision sur ce conteneur, soit tu cherches dans les cours/faq du site, soit tu vas directement sur le site de la STL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/08/2006, 14h25
  2. Réponses: 5
    Dernier message: 19/07/2006, 11h24
  3. Tri d'un tableau de float
    Par Jeane dans le forum C++
    Réponses: 19
    Dernier message: 24/04/2006, 17h27
  4. Conversion d'un tableau de float en double ?
    Par alex6891 dans le forum C++
    Réponses: 5
    Dernier message: 05/01/2006, 06h04
  5. Tableau de float
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/02/2005, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo