Manipulation de taleaux d'entiers

Codes-Sources > C
Identifiant : 4
Description :

Manipulation de tableaux d'entiers en C, en mode console.

Procdure d'affichage d'un tableau d'entiers en mode console :

void afficher(int *t, int size)
{
    int i;
    for (i = 0; i < size; i++) printf("%d ", t[i]);
}

Procdure pour la saisie des lments d'un tableau d'entiers :

void saisir(int *t, int size)
{
    printf("Saisir les %d occurences du tableau : \n", size);
    int i;
    for (i = 0; i < size; i++)
    {
        printf("Valeur en %d > ",i + 1);
        scanf("%d", &t[i]); fflush(stdin); // Vidage mmoire tampon clavier
    }
}

Procdure de remise zro des lments d'un tableau d'entiers :

void raz(int *t, int size)
{
    int i;
    for (i = 0; i < size; i++) t[i] = 0;
}

Procdure demandant l'utilisateur de saisir la position d'un lment d'un tableau d'entiers pour en modifier la valeur :

void modifier(int *t, int size)
{
    int position, valeur;
    do
    {
        printf("POSITION > ");
        scanf("%d", &position); fflush(stdin);
        printf("VALEUR > ");
        scanf("%d", &valeur); fflush(stdin);
        if (position >= size + 1) printf("^^^ Erreur position ^^^");
    } while(position >= size + 1);
    t[position - 1] = valeur;
}

Procdure pour retouver l'entier le plus grand dans un tableau :

void maximum(int *t, int size)
{
    int i, maximum = t[0];
    for (i = 1; i < size; i++)
    {
          if (t[i] > maximum) maximum = t[i];
    }
    printf("Le nombre maximum est %d", maximum);
}

Procdure pour retouver l'entier le plus petit dans un tableau :

void minimum(int *t, int size)
{
    int i, minimum = t[0];
    for (i = 1; i < size; i++)
    {
          if (t[i] < minimum) minimum = t[i];
    }
    printf("Le nombre minimum est %d", minimum);
}

Fonction indiquant et retournant la somme des lments d'un tableau d'entiers :

int somme(int *t, int size)
{
    int i, somme = 0;
    for (i = 0; i < size; i++) somme += t[i];
    printf("La somme du tableau est de %d", somme);
    return somme;
}

Procdure indiquant la moyenne des entiers d'un tableau d'entiers :

void moyenne(int *t, int size)
{
    int moyenne;
    moyenne = somme(t, size) / size;
    printf("\nLa moyenne est de %d", moyenne);
}

Procdure de tri d'un tableau d'entiers :
L'utilisateur doit d'abord indiquer l'ordre dans lequel trier les entiers :

void trier(int *t, int size)
{
    int i, j, temp;
    char choix;
    printf("C - Croissant\n");
    printf("D - Decroissant\n Choix > ");
    scanf("%c", &choix); fflush(stdin); // Vidage mmoire tampon clavier
    for (i = 0; i < size; i++)
    {
        for (j = i + 1; j < size; j++)
        {
            if (choix == 'C' || 'c')
            {
                if (t[j] < t[i])
                {
                    temp = t[i];
                    t[i] = t[j];
                    t[j] = temp;
                }
            }
            else if (choix == 'D' || 'd')
            {
                if (t[j] > t[i])
                {
                    temp = t[i];
                    t[i] = t[j];
                    t[j] = temp;
                }
            }
        }
    }
}

D'autres procdures et fonctions sont disponibles dans le fichier source...


Capture d'écran

Télécharger le fichier de l'exemple :