Langage c

azertybou Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
 chico200987 -
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
A voir également:

4 réponses

SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
 
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
azertybou Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   3
 
#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
SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
 
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
chico200987
 
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