Affichage des articles dont le libellé est Exercices corrigés langage C. Afficher tous les articles
Affichage des articles dont le libellé est Exercices corrigés langage C. Afficher tous les articles

mercredi 6 mars 2013



Exercice en langage C corrigé : 

Ecrire une fonction qui fait le tri décroissant d'une chaine  de caractère  S .


Solution : 


#include <stdio.h>
#include <stdlib.h>
void F02(char *S);
void F03(char *S);
int main()
{
char *S;
short i=0;
S=(char*)malloc(20);
printf(" Entrer une chaine \n");
gets(S);
F03(S);
printf("chaine traitee %s\n", S);
return 0;
}
void F02(char *S)
{
char m;
short i=0,imax;
imax=0;
while (*(S+i))
{
if( *(S+i) > *(S+imax) )
{
imax =i;
}
i++;
}
m = *S;
*(S) = *(S+imax);
*(S+imax) = m;
}
void F03(char *S)
{
short i=0;
while (*(S+i))
{
F02(S+i);
i++;
}
}


                                                                   -----------------------------

apprendre le langage C facilement et gratuitement 


Exercice en langage C corrigé : 

int F01(chat*T)
{ int i=0;
while (*(T+i))
           i++;
}
              return *(T+i/2);

}     


on suppose que S="AZERTY"

n=F01(S)

que Vaut n ? 



solution : 



n=AZERT


Exercice en C corrigé  :

Ecrire une fonction qui retourne le plus petit caractère dans une chaine de caractère  S ,

Par Exemple si on écrit AZERTY , on va avoir comme resultat A .




Solution : 


char G01(char *S)
{
     int i;
    char Min ;
    i=0;
    Min=i;
    while(*(S+i))
    {
        if(*(S+i)> *(S+i+1))
        Min=*(S+i+1);
        i++;
    }

    return (Min);
}




dimanche 3 mars 2013



Exercice avec solution en c pour les débutants : 

donner le resultat de l'exécution du programme suivant :

S= AZERTY:








Solution : 

                                      AZERT       (supprime le dernier car)


Apprendre C facilement avec des exercices gratuitement :

Ecrire une fonction qui place le plus grand caractère d'une chaine  S au
début de S  

Exercice en C Corrigé : 

Ecrire une fonction qui place le plus grand caractère d'une chaîne S à la fin de S .


Solution : 



void G02(char *S)
{ char m;
short i=0,imax;
imax=0;
while (*(S+i))
{ if( *(S+i) > *(S+imax) )
imax =i;
i++;
}
m = *(S+i-1);
*(S+i-1) = *(S+imax);
*(S+imax) = m;
}

lundi 25 février 2013


Exercice corrigé en langage C :


Ecrire un fonction H01 qui supprime le caractère à la position n ,  écrire en utilisant la fonction H01 en fonction H02 qui supprime les caractères qui ne sont pas de chiffres .
Puis utiliser la fonction H02 dans un programme .



Solution : 


#include <stdio.h>
#include <stdlib.h>
int main()
   {
     char *S;
     short i=0;
      S=(char*)malloc(20);
     printf(" Entrer une chaine \n");
     gets(S);
     H02(S);
     printf("chaine traitee % s\n", S);
   return 0;
   }

void H01(char *S, short n)
   {
   short i=n;
   while(*(S+i))
          {
           *(S+i) = *(S+i+1);
             i++;
          }
    }
void H02(char *S)
   {
   short i=0;
   while(*(S+i))
      {
       if(!(*(S+i)>='0'&&*(S+i)<='9'))
          {
           H01(S,i);
            i--;
           }
       i++;
       }
}


Exercice corrigé en langage C : 

Ecrire une fonction min_to_maj qui remplace les caractères minuscules d'une chaîne S par des majuscules , S est un argument de la fonction .



Solution : 
void min_to_maj( char*S)
{
     short i=0;
     while (*(S+i))
     {
               if(*(S+i)>='a' && *(S+i)<= 'z')
               *(S+i) -= 0x20;
               i++; 

     }

}



Exercice corrigé en langage C pour les débutants : 

 1 - Ecrire un programme qui lit la dimension  N d'un tableau T du type int ( dimension maximale 50 ) ,
remplit le tableau par des valeurs entrées au clavier et affiche le tableau .

2- Copiez ensuite toutes les composantes strictement positives dans un deuxième tableau TP ,
et toutes les valeurs strictement négatives dans un deuxième tableau TN .
Affichez les deux tableaux TP et TN .



Solution : 


#include <stdio.h>
#include <stdlib.h>

int main()
{int t[50]  ,   TPOS[50]  ,  TNEG[50];
int i  , n , j=0 ,  k=0   ;
printf ("veuillez introduire la dimension N du tableau :");
scanf("%d",&n);
 for(i=0;i<n;i++)
 {
     printf("\nentrer la valeur numero %d : ",i);
     scanf("%d",&t[i]);

 }

printf("\nle tableau que vous avez entrer est : %");
for(i=0;i<n;i++)
{
    printf("%d",t[i]);
}

for(i=0;i<n;i++)
{
    if (t[i]>=0)
    {
        TPOS[j]=t[i];
        j++;
    }
    else
    {
        TNEG[k]= t[i];
        k++;
    }

}

printf ("\naffichage des nombres positifs");
for(i=0;i<j;i++)
{
    printf("\n %d",TPOS[i]);
}

printf ("\naffichage des nombres negatifs");
for(i=0;i<k;i++)
{
    printf("\n %d",TNEG[i]);
}

    return 0;
}



Exercice corrigé en langage C pour les débutants : 

Ecrire un programme en langage C qui calcule le produit scalaire de deux vecteur (float) .


Solution : 


#include <stdio.h>

main()

{

                               /* Déclarations */

  int U[50], V[50]; /* tableaux donnés */

 int N;     /* dimension        */

 int I;     /* indice courant   */

 long PS;   /* produit scalaire */


 /* Saisie des données */

 printf("Dimension des tableaux (max.50) : ");

 scanf("%d", &N );

 printf("** Premier tableau **\n");

 for (I=0; I<N; I++)

    {

     printf("Elément %d : ", I);
     scanf("%d", &U[I]);
    }
 printf("** Deuxième tableau **\n");
 for (I=0; I<N; I++)
    {
     printf("Elément %d : ", I);
     scanf("%d", &V[I]);
    }


 /* Calcul du produit scalaire */ 

 for (PS=0, I=0; I<N; I++)

      PS += (long)U[I]*V[I];

  /* Edition du résultat */

 printf("Produit scalaire : %ld\n", PS);

 return 0;
}

Copyright © 2013 Exercices Langages de Programmation | Powered by Blogger
Design by Theme Junkie
Blogger Template by Lasantha | PremiumBloggerTemplates.com