[ALGO] trier les entiers nuls pr les ecarter
MAX
-
arth Messages postés 10414 Date d'inscription Statut Contributeur Dernière intervention -
arth Messages postés 10414 Date d'inscription Statut Contributeur Dernière intervention -
Salut
J'ai ce problème à resoudre, sachant que je débute en algo
j'ai bien réussi à faire quelques trucs, mais je n'arrive pas à décaler les autres nombres du tableau :
On considère qu'un tableau T contient N nombres entiers positifs ou nuls.
On souhaite récupérer de la place en supprimant tous les éléments nuls du tableau.pour cela, on va prendre le principe suivant:
sans utiliser de tableau supplémentaire, on détecte les éléments nuls du tableau et on récupère leur place en décalant vers le début du tableau tous les autres éléments.
J'ai ce problème à resoudre, sachant que je débute en algo
j'ai bien réussi à faire quelques trucs, mais je n'arrive pas à décaler les autres nombres du tableau :
On considère qu'un tableau T contient N nombres entiers positifs ou nuls.
On souhaite récupérer de la place en supprimant tous les éléments nuls du tableau.pour cela, on va prendre le principe suivant:
sans utiliser de tableau supplémentaire, on détecte les éléments nuls du tableau et on récupère leur place en décalant vers le début du tableau tous les autres éléments.
A voir également:
- [ALGO] trier les entiers nuls pr les ecarter
- Comment trier par ordre alphabétique sur excel - Guide
- Tableau croisé dynamique pour les nuls - Guide
- Logiciel pour trier les photos automatiquement - Guide
- Onedrive pour les nuls - Guide
- Google drive pour les nuls - Guide
12 réponses
bah mettons ca donne ca :
entier : tableau[nombre dentiers];
entier : i=0,j=0;
pour j allant de 1 à taille_tableau - 1 faire
si tableau[j] == null alors
pour i allant de j à taille tableau -1 faire
tableau[i]=tableau[i+1];
fin de pour
fin de si
fin de pour
Voila en gros ca donne ca jespère que ca pourra t'aider.
entier : tableau[nombre dentiers];
entier : i=0,j=0;
pour j allant de 1 à taille_tableau - 1 faire
si tableau[j] == null alors
pour i allant de j à taille tableau -1 faire
tableau[i]=tableau[i+1];
fin de pour
fin de si
fin de pour
Voila en gros ca donne ca jespère que ca pourra t'aider.
merci de ton aide mais je ne pense pas que cela retire les entires nuls du tableau pour décaler le reste vers la gauche par la suite ... si ?
:d
:d
Ben si puisqu'à chaque fois que l'on trouve un 'null', on lit tout pour décaler...
Il est possible de simplifier en parcourant le tableau une seule fois :
On lit un élément, s'il est 'null' on prend l'élement suivant (que l'on teste, s'il est 'null' on prend le suivant que l'on teste etc etc...) et on le met dans la case 'null' courante, on lit le suivant (que l'on teste etc etc...)...
Il est possible de simplifier en parcourant le tableau une seule fois :
On lit un élément, s'il est 'null' on prend l'élement suivant (que l'on teste, s'il est 'null' on prend le suivant que l'on teste etc etc...) et on le met dans la case 'null' courante, on lit le suivant (que l'on teste etc etc...)...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mais ca ne doit pas tout décaler vers la gauche, ca permet simplement de détecter les entiers nuls mais pas de les enlever du tableau et de décaler le reste !? si ? :d
Non ben non tu comprends bien je t'ai mis une fausse solution !!
Mais oh ca va maintenant la on veut que t'aider et tu fais genre " ah , ca fais ce que je veux?" . Vous vous prenez pour des princesses ou quoi? faut qu'on te fasse tes lacets aussi? et les programmes à ta place?
Déjà va apprendre à faire des algos puisque tu comprends meme pas ce que je t'ai marqué, et puis apprend aussi les bases de la prog tant qu'on n'y est. je m'en fous si ce post est enlevé mais la ca m'enerve !!!!
Mais oh ca va maintenant la on veut que t'aider et tu fais genre " ah , ca fais ce que je veux?" . Vous vous prenez pour des princesses ou quoi? faut qu'on te fasse tes lacets aussi? et les programmes à ta place?
Déjà va apprendre à faire des algos puisque tu comprends meme pas ce que je t'ai marqué, et puis apprend aussi les bases de la prog tant qu'on n'y est. je m'en fous si ce post est enlevé mais la ca m'enerve !!!!
Et puis retirer des entiers nuls du tableau ... ptdr !
Sinon tu fais des alloc dynamique avec le mallo et les pointttterrrrrsssss, ou alors tu prend ce qu'on te donne.
Sinon tu fais des alloc dynamique avec le mallo et les pointttterrrrrsssss, ou alors tu prend ce qu'on te donne.
Quel agressivité inutile.
Mes propos sont d'ordres interrogatifs, je suis grand débutant dans l'algo
J'ai bien vu que le code que tu m'as donné était logique (en tout cas pour moi)
De la a dire si il est bon je ne peux le savoir étant novice, tu comprendras pourquoi ces questions.
Mes propos sont d'ordres interrogatifs, je suis grand débutant dans l'algo
J'ai bien vu que le code que tu m'as donné était logique (en tout cas pour moi)
De la a dire si il est bon je ne peux le savoir étant novice, tu comprendras pourquoi ces questions.
inutile je suis pas sur. après bah moi je ne réponds plus, jai peur de perdre mon temps à essayer de te donner des solutions. Enfin celle-ci contient une erreur j'avoue.
Tu ne perds absolument pas ton temps vu que tu m'aides a progresser, la preuve.
Merci donc de cette aide, je vais mettre tout ca en forme maitenant
A bientot
Merci donc de cette aide, je vais mettre tout ca en forme maitenant
A bientot
pour ameliorer la complexité de parcour sur T de l'algo :
soit un tableaux T indicé de 1 à n,
soit i=1
pour k de 1 à n
si T[k] == 0
alors k recoit k+1
sinon
T[i] recois [k]
i recoit i+1
fin si
fin pour
la nouvelle fin du tableau est la valeur de i-1 en sortie de boucle
(i pointe sur pa premiere case dispo a recevoir une valeure)
principe : on parcour T avec 2 indices, i pour (re)ecrire dans le tableau, et k pour lire toutes les cases en sautant les valeur 0...