News Ticker

Menu

Série 2 Exercices Langage C

Série 2  Exercices Langage C

Exercice1
On appelle palindrome une suite de caractères qui se lit de la même façon dans les deux sens (exemple : …). Déterminer si la suite de caractères lue à l'exercice 1 est un palindrome.


Exercice2
Ecrire un programme C qui lit une suite de caractères dans un tableau. La suite se termine par un retour à la ligne (caractère "\n") et on vérifie qu'elle n'est pas plus longue qu'une constante dénommée TAILLELIGNE. Imprimer sa longueur (caractère de retour à la ligne non compris).

Exercice3
          Soit t un tableau de n réels (par exemple). Écrire un bloc
          d'instructions permettant de trier le tableau t selon la
          méthode du tri par sélection

Exercice4
Programmer l'algorithme suivant qui permet de chercher un  élément dans un tableau (trié ou non) :
 Soit t un tableau de n éléments (triés ou non). Soit aChercher une valeur à chercher. L'algorithme de la recherche avec une sentinelle se présente comme suit :

                      indice =  -1
                      t[n] = aChercher

                      Répéter
                           indice  = indice + 1
                      Jusqu'à t[indice] = aChercher

                      Si indice < n on trouve à "indice"
                      Sinon on ne trouve pas.

Exercice5(recherche dichotomique dans un tableau trié)
 Le tableau devrait être trié avant d'appliquer cette méthode. Soit le bloc d'instructions suivant qui résume la méthode de  recherche dichotomique dans un tableau trié :

Exercice6
Écrire un bloc d'énoncés permettant d'afficher les 7 journées de  la semaine



Correction


Exercice1
#include <stdio.h>
#define TAILLELIGNE 80
main ()
{int longueur = 0, finligne = 0, i, symetrie = 1;
 char ligne[TAILLELIGNE];
 while ((longueur<=TAILLELIGNE) && (!finligne))
 {scanf("%c",&ligne[longueur]);
  finligne = (ligne[longueur]=='\n');
  if (!finligne) longueur=longueur+1;
 }
 i=0;
 while ((i<= longueur/2) && symetrie)
 {symetrie = (ligne[i] == ligne[longueur-i-1]);
  if (symetrie) i=i+1;
 }
 printf("la suite ");
 if (symetrie) printf("est");
 else printf("n'est pas");
 printf(" un palindrome\n");
}

Exercice2
#include <stdio.h>
#define TAILLELIGNE 80
main ()
{int longueur = 0, finligne = 0;
char ligne[TAILLELIGNE];
while ((longueur<=TAILLELIGNE) && (!finligne))
{scanf("%c",&ligne[longueur]);
finligne = (ligne[longueur]=='\n');
if (!finligne) longueur=longueur+1;
}
printf ("%d",longueur);
}

Exercice3
int i, j, indMinimum ;
float temporaire      ;
for ( i = 0 ; i < n - 1 ; i++ ) /* du premier à avant dernier */
{
indMinimum = i ;
for ( j = i + 1 ; j < n ; j++ )
if  (t[j] < t[indMinimum])  indMinimum = j ;

if ( indMinimum != i ) {   /* on échange */

temporaire     = t[i] ;
t[i]           = t[indMinimum] ;
t[indMinimum] = temporaire ;
}
}

Exercice4
void chercher ( int t[], int n, int aChercher, int * P )
{
int indice = -1 ;
t[n] = aChercher ;
do
indice++ ;
while (t[indice] != aChercher) ;
*P = indice ;
}
Exemple d'utilisation :
/* Chercher un numéro donné dans un tableau des numéros
de nbEmp employés : */

#define MAX_EMP 1250
int unNumero, numero[MAX_EMP] ;
int nbEmp, indice ;
.......
printf("Quel est le numéro de l'employé recherché ? ");
scanf("%d", &unNumero);

chercher ( numero, nbEmp, unNumero, &indice) ;
if (indice == nbEmp )
printf("Désolé! on ne le trouve pas %d\n", unNumero);
else
{   printf("Son numéro     : %d\n", numero[indice]);
printf("son âge        : %d\n", age [indice]);
etc ....
}

Exercice5
#define VRAI  1
#define FAUX  0
int  indice , mini, maxi, milieu , trouve ;
trouve = FAUX ; /* on ne trouve pas encore */
mini   = 0 ;
maxi   = N - 1 ; /* on examine tout le tableau */
while ( !trouve && (mini <= maxi) ) {
milieu = ( mini + maxi ) / 2 ;
if ( aChercher < t[milieu] )
maxi = milieu - 1 ;
else
if ( aChercher > t[milieu] )
mini = milieu + 1 ;
else
trouve = VRAI ;
}
if (trouve)   indice = milieu ;
else
printf("On ne le trouve pas!\n");

Exercice6
int rang ;
char * jours[7] = { "dimanche", "lundi", "mardi", "mercredi",
"jeudi", "vendredi", "samedi" };
for ( rang = 0 ; rang < 7 ; rang++)
printf("Journée %d  :  %s\n", rang+1, jours[rang]);




Share This:

Post Tags:

  • To add an Emoticons Show Icons
  • To add code Use [pre]code here[/pre]
  • To add an Image Use [img]IMAGE-URL-HERE[/img]
  • To add Youtube video just paste a video link like http://www.youtube.com/watch?v=0x_gnfpL3RM