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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| #include <stdio.h>
#include <stdlib.h>
int lecture1 (int tab1[])
{
int nb;
int tabtemp1;
nb=0;
do
{
printf("nombre:" );
scanf("%d",&tabtemp1);
nb++;
tab1[nb]=tabtemp1;
}
while (tabtemp1!=-1);
return nb;
}
int lecture2 (int tab2[])
{
int nb2;
int tabtemp2;
nb2=0;
do
{
printf("nombre:" );
scanf("%d",&tabtemp2);
nb2++;
tab2[nb2]=tabtemp2;
}
while (tabtemp2!=-1);
return nb2;
}
void tri1 (int tab1[],int nb1)
{
int i,j,temp;
for(i=0;i<(nb1-1);i++)
{
for(j=i+1;j<nb1;j++)
{
if(tab1[j]<tab1[i])
{
temp=tab1[i];
tab1[i]=tab1[j];
tab1[j]=temp;
}
}
}
}
void tri2 (int tab2[],int nb2)
{
int k,l,temp;
for(k=0;k<(nb2-1);k++)
{
for(l=k+1;l<nb2;l++)
{
if(tab2[l]<tab2[k])
{
temp=tab2[k];
tab2[k]=tab2[l];
tab2[l]=temp;
}
}
}
}
int fusion(int tabf[],int tab1[],int tab2[],int nb1, int nb2)
{
for (f=0;f<=nb1;f++)
{
if (tab1[f]<tab2[f])
{
tabf[f]=tab1[f];
tabf[f+1]=tab2[f];
}
else if (tab2[f]<tab1[f])
{
tabf[f]=tab2[f];
tabf[f+1]=tab1[f];
}
}
return f;
}
void affiche(int tab[],int f)
{
int i,j;
printf("le vecteur trie est:\n\n");
for(i=0;i<=f-1;i++)
{
printf(" %d ",tab[i]);
}
}
int main()
{
int nb1,nb2,tab1[50],tab2[50],tabf[100],f;
nb1=lecture1(tab1);
nb2=lecture2(tab2);
f=fusion(tabf,tab1,tab2,nb1,nb2);
affiche(tabf,f);
system("pause");
} |
Partager