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

Collection et Stream Java Discussion :

[debutant] Tableau dynamique


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut [debutant] Tableau dynamique
    Salut à tous!
    En fait j'aimerais créer un tableau dynamique qui est tel que:
    si j'ai au départ le tableau {4,5,6} et quand le programme me demande de proposer un nombre, si je propose par exemple 2 il me dit "manqué".Par contre quand je propose 5, il me dit "touché".5 étant touché, je dois reduire la taille du taille du tableau qui ne comportera plus que {4,6}.Et si je propose 6, le tableau devient {4}.ect...

  2. #2
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    En fait ton algorithme qui permet de dire que c'est touché ou non parcours surement ton tableau jusqu'à trouver la valeur donc à chaque fois que tu compares une valeur et tu trouves que c'est pas la bonne met là dans un nouveau tableau temporaire declaré avant la boucle.une fois trouvé la valeur recherchée d'indice i complète ton tableau temporarire avec les valeurs de l'ancien à partir de i+1 et ecrase l'ancien avec le nouveau.

    J'espère que je me suis bien fait comprendre.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    En fait la difficulté vient du fait que j'ai le tableau cellules={4,5,6}.quand je propose 5, je dois créer un nouveau tableau cellules de taille 2 dans lequel je dois mettre les valeurs les valeurs restantes 4 et 6 car je dois supprimer la valeur 5 (5 est en effet touché).J'ai du mal à gérer les indices.la difficulté est que je crée un tableau temporaire temp={4,5,6} et je dois mettre toutes valeurs differentes de 5 (ici 4 et6) dans le nouveau tableau cellules de taille 2.La difficulté c'est au niveau des indices.

    tableau cellules ------0 0 (les cellules)
    0 1 (les indices)

    tableau temp---------4 5 6 (contenues du tableau)
    0 1 2 (les indices)

    je peux faire cellules[0]=temp[0]
    par contre comment je ferais pour mettre la valeur temp[2]=6 dans cellules[1] ?

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Pourquoi ne pas utiliser une List ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    List<Integer> values = new ArrayList<Integer>();
    values.add(4);
    values.add(5);
    values.add(6);
     
    boolean touch = values.remove(2); // ne change pas les valeurs et renvoie false
    touch = values.remove(5); // supprime 5 de la liste et renvoie true
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    La structure n'est pas adaptée.
    Faire un nouveau tableau avec copie des données n'est pas pratique.
    Utilise à la place une java.util.LinkedList. Mais ça t'oblige à stocker des objets.

    Si toutefois tu veux conserver ton tableau, alors construit une classe très simple qui permet de supprimer un élément (si l'ordre n'a pas d'importance) :
    1. rechercher l'indice de l'élément à supprimer
    2. écraser l'élément par le dernier élément du tableau
    3. décrémenter la taille utilisable du tableau.

    Tout réside dans le fait que tu conserves la taille du tableau indépendamment de sa taille réelle. Tu n'as donc plus à reconstruire un nouveau tableau à chaque suppression, et il devient donc inutile de copier les données restantes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Oui je sais que ce n'est pas très pratique de procéder comme ça.En fait je pouvais utiliser un ArrayList.C'est juste dans le soucis d'apprendre à programmer que j'essaie de faire ça comme ça.

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par Javamar Voir le message
    Oui je sais que ce n'est pas très pratique de procéder comme ça.En fait je pouvais utiliser un ArrayList.C'est juste dans le soucis d'apprendre à programmer que j'essaie de faire ça comme ça.
    Une partie de l'apprentissage de la programmation est de savoir choisir les solutions adaptées aux besoins .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  8. #8
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par Javamar Voir le message
    C'est juste dans le soucis d'apprendre à programmer que j'essaie de faire ça comme ça.
    Ah ok ! Fallait le dire plus tôt !
    Alors pour la copie de tableau, utilise System.arraycopy. Tu spécifies l'index de la source, l'index de destination, et la taille à copier.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. Tableau dynamique pour debutant
    Par LouisF dans le forum Débuter
    Réponses: 6
    Dernier message: 06/01/2009, 18h00
  2. [debutant] allocation dynamique d'un tableau.
    Par méphistopheles dans le forum Débuter
    Réponses: 3
    Dernier message: 16/03/2007, 12h45
  3. Réponses: 23
    Dernier message: 21/08/2003, 07h16
  4. [Kylix] tableau dynamique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 31/10/2002, 08h57
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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