#include <stdio.h>
#include <stdlib.h>

/* affiche les n premières valeurs d'un tableau */
void affiche(int t[], int n)
{
    int i;

    for(i = 0; i < n; i++)
	printf("%d\t",t[i]);
    printf("\n");
}

exo1()
{
    int n1, n2;
    int *t1, *t2, *t3; /* les tableaux */

    printf("\nEntrez une valeur pour n1");
    scanf("%d",&n1);
    printf("\nEntrez une valeur pour n2");
    scanf("%d",&n2);
    
    /* allocation mémoire */
    t1 = (int *) malloc (n1*sizeof(int));
    t2 = (int *) malloc (n2*sizeof(int));
    t3 = (int *) malloc ((n1+n2)*sizeof(int));
    
    int i;

    /* mettre des valeurs aléatoires dans les tableaux */
    for(i = 0; i < n1; i++)
	t1[i] = rand() % 100;
    for(i = 0; i < n2; i++)
	t2[i] = rand() % 100;
    
    /* affichage des tableaux */
    affiche(t1,n1);
    affiche(t2,n2);
    
    for(i = 0; i < n1 + n2; i++)
	if (i < n1)
	    t3[i] = t1[i];
	else
	    t3[i] = t2[i - n1];

    affiche(t3, n1+n2);
}

exo2()
{
    int n, e;
    int *t, *t1;
    
    printf("\nEntrez une valeur ");
    scanf("%d",&n);

    /* allocation mémoire */
    t = (int *) malloc (n*sizeof(int));
    t1 = (int *) malloc ((n+1)*sizeof(int));
    
    int i;

    /* mettre des valeurs aléatoires dans les tableaux */
    for(i = 0; i < n; i++)
	t[i] = rand() % 100;

    affiche(t,n);

    printf("\nEntrez un nouvel élément ");
    scanf("%d",&e);

    /* recopie des éléments de t dans t1 et ajout du nouvel élément */
    for(i = 0; i < n; i++)
	t1[i] = t[i];
    t1[n] = e;

    t = t1;

    affiche(t, n+1);
}


// exo3 et main sont laissés en exercice

