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 :

Tri d'un tableau


Sujet :

C

  1. #21
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 401
    Par défaut
    Des profs incompétents qui confondent le C avec le C++, ce n'est pas la première fois qu'on nous en parle ici.
    Change de prof, fais-le virer, il n'est visiblement pas à la hauteur.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 47
    Par défaut
    En plus c't'un chinois lulz
    pis cest pas un novice en C/C++ qui va faire virer un prof :/

  3. #23
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 401
    Par défaut
    Sauf en présentant des preuves de son incompétence, comme des extraits de cours et des documents...

    Voire mieux, le résultat d'un test professionnel à faire passer au prof par la ruse...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 47
    Par défaut
    Okay jai trouvé l'erreur, jai eu une illumination. XD
    enfin jai juste fixé le tri croissant. mais jai compri lerreur
    a la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    table_cpy = t;
     
     
    // jai mis:
    table_cpy[j] = t[j];
    et ca marchais.

    voila.

    petite question, comment je peux virer une seule valeur d'un tableau, exple:

    jai:

    t[0] = 1;
    t[1] = 2;
    t[2] = 5;

    Comment faire pour avoir:
    t[0] = 2;
    t[1] = 5;

    en locurence virer la premiere valeur, mais bon, ca aurait pu etre la 2e.

  5. #25
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par secksy Voir le message
    Mon prof de prog a l'iut a dis que cout c'est du C.
    Change de prof.

  6. #26
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Citation Envoyé par secksy
    <...> petite question, comment je peux virer une seule valeur d'un tableau <...>
    Tu pourrais parcourir ton tableau case par case en décalant à chaque itération ou alors faire appel à memmove :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdio.h>
    #include <string.h>	/* memmove */
     
    #define TAILLE 	10
    #define POS	 2	/* de 0 à TAILLE-1 */
     
    int main( void )
    {
    	int tab[TAILLE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    	size_t i;
     
    	memmove(tab+POS,tab+POS+1,(TAILLE-POS-1)*sizeof *tab);
    	for( i=0 ; i<TAILLE-1 ; i++ )
    	{
    		printf("tab[%d] = %d\n",i,tab[i]);
    	}
     
    	return 0;
    }

  7. #27
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 401
    Par défaut
    Mais comme le tableau d'origine est non-trié, si tu veux retirer une valeur, tu peux tout simplement mettre la dernière valeur à la place...

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    struct tableauInt
    {
    	int *pBuffer; /* durée de vie: contrôlée par la structure */
    	size_t tailleBuffer;
    	size_t tailleTableau; /* jamais supérieur à tailleBuffer */
    };
     
    typedef enum e_tabBool { TABLEAU_FALSE=0, TABLEAU_TRUE } TABBOOL;
     
    /* Fonction de validation: retour booléen.
       Comme c'est de la validation, on se moque du "Single Entry, Single Exit" */
    TABBOOL tableauEstValide(struct tableauInt const *pcTableau)
    {
    	if(pcTableau==NULL)
    		return TABLEAU_FALSE;
    	if(pcTableau->pBuffer==NULL)
    		return TABLEAU_FALSE;
    	if(pcTableau->tailleTableau > pcTableau->tailleBuffer)
    		return TABLEAU_FALSE;
    	return TABLEAU_TRUE;
    }
     
    /* Retourne 0 si OK, -1 si erreur */
    int tableauSupprimerInt(struct tableauInt *pTableau, size_t index)
    {
    	/* Contrôle des paramètres:
    	   Ici, je me permets une entorse au "Single Entry, Single Exit" */
    	if(!tableauEstValide(pTableau))
    		return -1;
    	if(index >= pTableau->tailleTableau)
    		return -1;
     
    	/* Remplace par le dernier élément */
    	pTableau->pBuffer[index] = pTableau->pBuffer[pTableau->tailleTableau - 1];
    	/* "supprime" le dernier élément */
    	pTableau->tailleTableau--;
    	return 0;
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Tri d'un tableau en 2D
    Par sniperseb dans le forum C
    Réponses: 4
    Dernier message: 05/01/2006, 17h33
  2. Réponses: 6
    Dernier message: 16/09/2005, 11h30
  3. tri d'un tableau à 2 dimensions
    Par dede92 dans le forum C
    Réponses: 4
    Dernier message: 19/02/2005, 19h29
  4. [langage] Probleme de tri d'un tableau de tableau
    Par Ludo167 dans le forum Langage
    Réponses: 1
    Dernier message: 25/08/2004, 11h32
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 09h43

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