Accueil Informatique Jeux vidéo Musique

Programme en console

   

Equivalent in_array de PHP en C

Date : 09/03/2015

La fonction in_array en PHP permet de rechercher une valeur dans un tableau, ce qui est plutôt pratique.

En voici un exemple :

<?php
$tableau = array("jaune", "rouge", "bleu", "vert");
    
$valeurARechercher = "jaune";
    
if(in_array($valeurARechercher, $tableau)
    echo "Est dans le tableau";
else
    echo "N'est pas dans le tableau";
    
?>

Malheureusement, je n'ai pas trouvé cette fonction en C.

C'est pourquoi j'en ai construit une, que je vous partage :

#include <stdio.h>

int inArray(int nb, int array[], int taille);

int main ()
{
    // Déclarations
    int n[ 10 ];
    int i = 0, j = 0, k = 0;

    // Initialisation du tableau
    for ( i = 0; i < 10; i++ )
    {
        n[ i ] = i + 100;
    }

    // On affiche le tableau
    for (j = 0; j < 10; j++ )
    {
        printf("Element[%d] = %d\n", j, n[j] );
    }

    // On fait des tests
    k = 10;
    if(inArray(k, n, 10) == 0)
        printf("%d => N'est pas dans le tableau.\n", k);
    else
        printf("%d => Est dans le tableau.\n", k);

    k = 50;
    if(inArray(k, n, 10) == 0)
        printf("%d => N'est pas dans le tableau.\n", k);
    else
        printf("%d => Est dans le tableau.\n", k);

    k = 100;
    if(inArray(k, n, 10) == 0)
        printf("%d => N'est pas dans le tableau.\n", k);
    else
        printf("%d => Est dans le tableau.\n", k);

    k = 105;
    if(inArray(k, n, 10) == 0)
        printf("%d => N'est pas dans le tableau.\n", k);
    else
        printf("%d => Est dans le tableau.\n", k);

   return 0;
}

int inArray(int nb, int array[], int taille)
{
    int r = 0, i = 0;
    for(i = 0; i < taille; i++)
    {
        if(array[i] == nb)
            r = 1;
    }

    return r;
}

Je vous partage également les fichiers du projet sous Code::Blocks.

Télécharger les fichiers du projet