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 :

les tableaux c est mon obstacle


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    débutant
    Inscrit en
    Mai 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 16
    Par défaut les tableaux c est mon obstacle
    bonjour à tous,

    comme d'habitude, j'ai un autre obstacle mais cette fois si c'est problème defrant. j'ai vu la leçon des tableaux complètement et j'ai bien compris comment déclarer des des tableaux, etc.

    ok ok on commence.

    voici un exercice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Exercice 5 (plus difficile) : créer une fonction ordonnerTableau qui classe les valeurs d'un tableau dans l'ordre croissant. Ainsi, un tableau qui vaut {15, 81, 22, 13} doit à la fin de la fonction valoir {13, 15, 22, 81} !
    Cet exercice est un peu plus difficile que les autres, mais est tout à fait réalisable. Ca va vous occuper un petit moment :p
    et voila la correction :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    #include <stdio.h>
    #include <stdlib.h>
     
    void ordonnerTableau(long tableau[], long tailleTableau);
     
    int main(int argc, char *argv[])
    {
    long tableau[4] = {154, 41, 2, 1445};
    ordonnerTableau(tableau,4);
    return 0;
    }
     
     
    void ordonnerTableau(long tableau[], long tailleTableau)
    {
    long i,j;
    long var=0;
    long boucle = 1;
     
    do
    {
    var=0;
    j=0;
    for (i=0; i<tailleTableau; i++)
    {
    if (i!=0)
    {
        if (tableau[i]<var)
    {
    var=tableau[i-1];
    tableau[i-1]=tableau[i];
    tableau[i]=var;
    j=1;
    }
            else
            {
            var=tableau[i-1];
            }
    }
    else
    {
    if (tableau[i]<var)
    {
    printf ("Pas de valeurs negative");
    return 0;
    }
     
            else
            {
            var=tableau[i];
            }
    }
    }
    if(j==0)
    {
    boucle=0;
    }
    }
     while (boucle==1);
     
    for (i=0; i<tailleTableau;i++)
    {
    printf ("%ld\n",tableau[i]);
    }
    }
    maintenant, mon problème est :

    j'ai pas trouver ce qu'il faut faire pour classer les valeur des plus petites au plus grandes.

    pourriez-vous me donner la façon pour bien faire marcher le programme ?? (j'ai rien compris dans ce code source)

    ou bien pourriez-vous m'expliquer ce code source ??

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Bonjour,

    Lorsque tu déclares un tableau, tu déclares en fait n variables consécutives, auxquelles tu accèdes via leur numéro.

    Par conséquent, avoir cinq variables tableau[0], tableau[1], tableau[2], tableau[3], tableau[4], c'est comme avoir cinq variables a, b, c, d et e. L'intérêt est que tu es sûre qu'elles sont consécutives en mémoire, et que tu peux éventuellement les indexer à l'aide d'une autre variable. Par exemple : tableau [i].

    Si tu veux trier un tableau, il faut comparer les valeurs entre elles et vérifier si la première est inférieure, égale ou supérieur à la suivante. Cela se fait avec les opérateurs « < », « = » et « > » comme tu le ferais sur papier en mathématiques.

    Si tu te rends compte que la première valeur est supérieure à la suivante, alors il faut les permuter. Pour cela, tu copies la première dans une variable temporaire, tu copies la seconde dans la première, et tu copies la variable temporaire dans la seconde, tout simplement.

    Fais une recherche avec « algorithme de tri » sur le moteur de recherche de ton choix pour voir quelles sont les techniques les plus efficaces en fonction des situations.

  3. #3
    Membre averti
    Homme Profil pro
    débutant
    Inscrit en
    Mai 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 16
    Par défaut
    merci bien mon aimi mais j ai pasi compris comment declare une variable tomporair

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Une variable temporaire est une variable ordinaire.
    Tu la définis comme un tableau, sans les crochets.

  5. #5
    Membre averti
    Homme Profil pro
    débutant
    Inscrit en
    Mai 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 16
    Par défaut
    Pourez Vous me fair un example de la declarations des varible tomporaire


  6. #6
    Membre actif
    Avatar de Canan
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    C'est juste une variable que tu va utiliser pour garder en mémoire un de tes nombres, d'où son nom de "temporaire".

    Par exemple : Le "long var = 0;" que tu utilises dans ton "for".

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/01/2009, 22h47
  2. Quel est le meilleur SGBD pour gérer les tableaux ?
    Par Gui13 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 18/07/2007, 14h40
  3. Réponses: 2
    Dernier message: 12/03/2007, 16h05
  4. Réponses: 8
    Dernier message: 17/05/2006, 10h51
  5. [W3C] Les tableaux c'est si mauvais que ca ?
    Par ShinJava dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 03/03/2006, 13h17

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