Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Tableau à valeurs aléatoires et tri à bulles

    Bonjour, je suis un débutant en language et j'ai cet exercice à rendre seulement je suis perdu... C'est l'exercice 11 du fichier que je vous joint. J'ai essayer mais en vain, ce doit être plein d'erreurs :

    Code :
    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
      int n=10, A[100];
      alea (A,n);
      affichage (A,n);
      Tri (A,n);
      affichage (A,n);
      return (0);
    }
    void alea(int A[],int n)
    {
    int i;
    srand(1);
    for (i=0;i<n;i++) A[i]=rand()/100;
    }
    void Tri (int A[],int n )
    {
        int j;
        int i;
        for( j=0,j<n-1,j++)
        for(i=0,i<n-j-1,i++)
        if(A[i]>A[i+1])echange (&A(i),&A(i+1));
    }
    void echange (int*x,int*y)
    {
        int k,h;
        h=*x;
        *x=*y;
        *y=k;
    }
    void affichage(int n,float A[100])
    {
        int i;
        for (i=0;i< n;i++) printf("A[%d] = %f\n",i,A[i]);
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Expert Confirmé

    Homme Profil pro Fred Kwariz
    Chef de projet en SSII
    Inscrit en
    octobre 2011
    Messages
    888
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred Kwariz
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2011
    Messages : 888
    Points : 3 510
    Points
    3 510

    Par défaut

    Bonjour,

    après un coup d'œil en diagonale il y a plusieurs points à regarder :

    • Utilise les balises CODE pour insérer du code dans un message
    • Dans la fonction Tri la notation A(i) est incorrecte pour accéder à l'élément i du tableau A (le compilateur doit râler)
    • Dans la fonction echange : c'est quoi k ? le compilateur doit râler aussi. Un simple test manuel doit te montrer qu'elle ne fonctionne pas correctement.
    • Dans la fonction affichage ... partout tu as des tableaux d'int et là tu utilises un tableau de float ? pas cohérent et le compilateur doit râler aussi
    • En plus du typage il faut faire attention à l'ordre des paramètres (cf affichage ...). C'est bien de garder une certaine cohérence (d'abord le tableau puis la taille comme dans l'exemple du TD).
    • Déclare correctement tes fonctions en dehors du main

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut

    Merci pour ton aide ! Mon travail est donc bourré de fautes ! Je suis complètement paumé dans le language C, je débute. Je vais tenter de modifier tout ca

  4. #4
    Expert Confirmé
    Avatar de fred1599
    Homme Profil pro Fred
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    1 731
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 731
    Points : 2 598
    Points
    2 598

    Par défaut

    srand(1) va renvoyé à chaque exécution du programme les même nombres aléatoires, je conseille plutôt

    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Expert Confirmé

    Homme Profil pro Fred Kwariz
    Chef de projet en SSII
    Inscrit en
    octobre 2011
    Messages
    888
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred Kwariz
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2011
    Messages : 888
    Points : 3 510
    Points
    3 510

    Par défaut

    Bonjour,

    Citation Envoyé par fred1599 Voir le message
    srand(1) va renvoyé à chaque exécution du programme les même nombres aléatoires,[...][/code]
    Ce qui est pratique en mode debug

  6. #6
    Expert Confirmé
    Avatar de fred1599
    Homme Profil pro Fred
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    1 731
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 731
    Points : 2 598
    Points
    2 598

    Par défaut

    Ce qui est pratique en mode debug
    Ah ok
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  7. #7
    Invité de passage
    Homme Profil pro oualid anonim
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Nom : Homme oualid anonim
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : décembre 2012
    Messages : 2
    Points : 2
    Points
    2

    Par défaut infoex

    [code]srand( time(0) );

    Personellement,
    je crois que votre fonction est un peu lente...et je trouve celle plus rapide
    void alea(k)
    {
    int i;
    for(i=0;i<k;i++)
    T[i]=rand();
    }


  8. #8
    Membre Expert Avatar de Trademark
    Inscrit en
    février 2009
    Messages
    696
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 696
    Points : 1 049
    Points
    1 049

    Par défaut

    Citation Envoyé par oualidosphelix Voir le message
    [code]srand( time(0) );

    Personellement,
    je crois que votre fonction est un peu lente...et je trouve celle plus rapide
    void alea(k)
    {
    int i;
    for(i=0;i<k;i++)
    T[i]=rand();
    }

    Salut,

    Pourquoi dis-tu que la tienne est plus rapide ? C'est la même mais en moins bien vu qu'il y a une utilisation de variable globale

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •