« Exercices en langage C/Tableaux statiques » : différence entre les versions
Contenu supprimé Contenu ajouté
→position d'un élément dans un tableau : source +simple |
|||
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) |
||
{ |
{ |
||
while (taille > 0) |
|||
int result = -1; |
|||
for (i = 0; i < taille; i++) |
|||
{ |
{ |
||
--taille; |
|||
if (t[taille] == x) |
|||
return taille; |
|||
break; |
|||
} |
|||
} |
} |
||
return |
return -1; |
||
} |
} |
||
int main(void) |
int main(void) |
||
{ |
{ |
||
int tableau[] = { |
int tableau[] = { 2, 5, 45, 3, 9 }; |
||
int x |
int x; |
||
⚫ | |||
⚫ | |||
⚫ | |||
pos = position(tableau, 5, x); |
|||
⚫ | |||
printf("La position de x est : %d\n", |
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.
Solution
Le fichier source prêt à compiler :
#include <stdio.h>
int position (int t[], int taille, int x)
{
while (taille > 0)
{
--taille;
if (t[taille] == x)
return taille;
}
return -1;
}
int main(void)
{
int tableau[] = { 2, 5, 45, 3, 9 };
int x;
printf("x ? ");
scanf("%d", &x);
printf("La position de x est : %d\n", position(tableau, 5, x));
return 0;
}