Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tri par insertion

J'ai un problème dans l'appel de la fonction que j'ai créée

    5 décembre 2019 à 15:56:24

    Bonjour! je te remercie d'abord pour avoir lire mon message.

    Alors je suis un débutant dans la programmation et j'ai un problème avec mon script ci-dessus il fonctionne pas j'en doute que y'a une erreur de syntaxe dans l'appel de la fonction " Tri_insertion ".Merci encore !

    #include<stdio.h>
    #include<stdlib.h>
    #define max 100
    void tri_insertion( int T[], int n);
    main(){
    int i,tab[max],n;
    printf("donner n: ");
    scanf("%d", &n);
    for(i=0;i<n;i++){
    printf("TABLEAU[%d]: ",i+1);
    scanf("%d", &tab[i]);
    }
    tri_insertion(tab,n);
    for(i=0;i<n;i++){
    printf("%d \t", tab[i]);
    }
    }
    void tri_insertion( int T[], int n){
    int i,k,temp;
    for(i=2;i<n;i++){
    temp=T[i];
    k=i-1;
    while( k>0 && T[k]>temp ){
    T[k+1]=T[k];
    k++;
    }
    T[k]=temp;
    }
    }


    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2019 à 17:09:44

      Bonjour,

      Il n'y pas pas d'erreur de syntaxe, mais plutôt 2 erreurs d'algorithme :
      - ligne 8 de tri_insertion(), es-tu bien sûr que le k doit être incrémenté?
      - ligne 6 et ligne 10 de tri_insertion(), il faut penser à insérer potentiellement à l'indice 0. Ça n'est pas le cas.

      • Partager sur Facebook
      • Partager sur Twitter

      En recherche d'emploi.

      Tri par insertion

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown