« Exercices en langage C/Tableaux statiques » : différence entre les versions
Contenu supprimé Contenu ajouté
m →position d'un élément dans un tableau : +source pour voir passage d'un tableau en parametre de fct |
|||
Ligne 64 : | Ligne 64 : | ||
int tableau[] = {2 , 5 , 45 , 3 , 9 }; |
int tableau[] = {2 , 5 , 45 , 3 , 9 }; |
||
int x, pos; |
int x, pos; |
||
int i, taille=5; |
|||
printf("x ? "); |
printf("x ? "); |
||
scanf("%d", &x); |
scanf("%d", &x); |
Version du 13 juin 2007 à 10:47
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.
Solution
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;
}
Si on est en C99, il est possible de déclarer i dans le for :
int position (int t[], int taille, int x)
{
int result = -1;
for (int i = 0; i < taille; i++)
{
/* ... */
Le fichier source prêt à compiler :
#include <stdio.h>
int position (int t[], int taille, int x)
{
int i;
int result = -1;
for (i = 0; i < taille; i++)
{
if (t[i] == x)
{
result = i;
break;
}
}
return result;
}
int main(void)
{
int tableau[] = {2 , 5 , 45 , 3 , 9 };
int x, pos;
printf("x ? ");
scanf("%d", &x);
pos = position(tableau, 5, x);
printf("La position de x est : %d\n", pos);
return 0;
}