« Exercices en langage C/Tableaux statiques » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Greudin (discussion | contributions)
Ligne 10 : Ligne 10 :


<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
<source lang="c">

int position (int t[], int taille, int x) //On est obligé de donner la taille du tableau
{
int i;
int result = -1;

for (i = 0; i < taille; i++)
{
if (t[i] == x)
{
result = i;
break;
}
}
return result;
}
</source>

Si on est en C99, il est possible de déclarer <tt>i</tt> dans le <tt>for</tt> :
<source lang="c">
int position (int t[], int taille, int x)
{
int result = -1;

for (int i = 0; i < taille; i++)
{
/* ... */
</source>


Le fichier source prêt à compiler :
Le fichier source prêt à compiler :
Ligne 46 : Ligne 17 :
int position (int t[], int taille, int x)
int position (int t[], int taille, int x)
{
{
int i;
while (taille > 0)
int result = -1;

for (i = 0; i < taille; i++)
{
{
if (t[i] == x)
--taille;
{
if (t[taille] == x)
result = i;
return taille;
break;
}
}
}
return result;
return -1;
}
}


int main(void)
int main(void)
{
{
int tableau[] = {2 , 5 , 45 , 3 , 9 };
int tableau[] = { 2, 5, 45, 3, 9 };
int x, pos;
int x;

printf("x ? ");
scanf("%d", &x);


printf("x ? ");
pos = position(tableau, 5, x);
scanf("%d", &x);


printf("La position de x est : %d\n", pos);
printf("La position de x est : %d\n", position(tableau, 5, x));
return 0;
return 0;
}
}
</source>
</source>

Version du 29 août 2007 à 07:54

Les tableaux statiques

position d'un élément dans un tableau

Ecrire une fonction qui donne l'indice d'un élément x donné dans un tableau, ou -1 si x n'est pas dans le tableau.

Le tableau contiendra des éléments de type int, la fonction retournera une valeur de type int.