« Exercices en langage C/Tableaux statiques » : différence entre les versions
Contenu supprimé Contenu ajouté
→position d'un élément dans un tableau : précision du sujet + correction |
m →position d'un élément dans un tableau : +source pour voir passage d'un tableau en parametre de fct |
||
Ligne 39 : | Ligne 39 : | ||
/* ... */ |
/* ... */ |
||
</source> |
</source> |
||
Le fichier source prêt à compiler : |
|||
<source lang="c"> |
|||
#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; |
|||
int i, taille=5; |
|||
printf("x ? "); |
|||
scanf("%d", &x); |
|||
pos = position(tableau, 5, x); |
|||
printf("La position de x est : %d\n", pos); |
|||
return 0; |
|||
} |
|||
</source> |
|||
}}</div> |
}}</div> |
||
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;
int i, taille=5;
printf("x ? ");
scanf("%d", &x);
pos = position(tableau, 5, x);
printf("La position de x est : %d\n", pos);
return 0;
}