Langage c

Bonjour,
svp
programme pour ajouter un element dans un tableau trier
par exp
on a un tableau trie 1 3 6 7 8
on ajoute 4
1 3 4 6 7 8

programme pour suprimmer un element dans un tableau trie et non trie
Configuration: Windows Vista
Firefox 3.0.3

4 réponses

  1. Deja j'espere que la taille de ton tableau est assez grande pour rajouter une valeur, je ne vais pas gerer ce cas mais je dirais que tu pourrais proceder comme ca :

    nb : nombre a rajouter
    taille : taille de ton tableau
    tab : tableau deja trie

    int      tri_tab(int nb, int tab[], int taille)
    {
    int      i;
    int      j;
    int      stop;
    
    stop = 0;
    i = 0;
    while (i < taille && stop == 0)
    {
         if (tab[i] > nb)
         {
             j = taille;
             while (j > i)
             {
                  tab[j + 1] = tab[j];
                  j--;
             }
             tab[i] = nb;
             stop = 1;
         }
    i++;
    }
    return (0);
    }
    


    Je pense que c'est plus claire ..
    0
    1. tu peux trouver les erreurs toi-même, et ca te fera comprendre beaucoup de choses...
      cependant : une premiere piste :
      les 5 premiers éléments de ta liste, que tu saisis par
      for (i=0; i<=m-1; i++)
      {
      printf("dooner i \n ");
      scanf ("%d", & t[i]);
      }
      comment les tries-tu?
      ensuite, à la fin de cette boucle, à quoi est égal i, et dans sa prochaine utilisation, à quelle valeur veux-tu qu'il soit initialisé?
      0
      1. #include<stdio.h>
        #include<conio.h>
        #include<stdlib.h>
        void main()
        {
        clrscr();

        int i,m,k ,j ,t[15];
        m= 5;

        for (i=0; i<=m-1; i++)
        {
        printf("dooner i \n ");
        scanf ("%d", & t[i]);
        }

        printf (" \n donner lq valeur de j \n");
        scanf ("%d",&j);

        if ( j > t[m-1])
        t[m]=j;
        else
        {
        i=0;

        while(t[i] < j)
        {
        i++;
        }
        k==j;

        for (i=m-1;i<=k;i--)
        {

        t[i+1]=t[i];

        }
        t[k]= j;
        }
        printf (" le resulat \n");
        for (i=0;i<=m;i++)
        {
        printf (" %d " , t[i]);
        }
        getch();

        }
        si il ya des erreur il faut corrige svp
        1
        1. Salut

          et ni vu ni connu je fais faire mes exos par des bonnes poires sur un forum...

          c'est pas très compliqué, essaie déja de faire quelque chose, et si tu n'y arrive pas, montre-nous ce que tu qs fait, on te dira ce qui ne va pas
          1