'>

Exercice Corrigés d'algorithme informatique et langage C

#include <stdio.h>
#include <conio.h>


 main()
{
  int i,j,n=0;
 
  while(n<=9)
  {
            printf("taper un entier >= 10:");
            scanf("%d",&n);
            }

  for(i=0;i<(n*2)-1;i++)
  {
                      
                        for(j=(n*2)-i;j>0;j--)
                        { printf(" "); j--;}
                       
                        for(j=0;j<i+1;j++)
                        {printf("*");} printf("\n");
                       
                       
                        for(j=(n/2)+i;j>=0;j--)
                        { printf(" "); j=j-1;}
                       
                        for(j=i+1;j<(n*2);j++)
                        {printf("*");} printf("\n");
  }

 
    getch();
}


#include<stdio.h>
#include<conio.h>
char nom[30],prenom[30],nn[30];
 float note[30],nt;
 int sem[30],n,i,j,mat[30],c,m,m0,m1,m3;


void ajouter()
{
  
 for(i=0;i<n;i++)
 {
                 printf("entrer le matricule : " );
                 scanf("%d",&mat[i]);
                 printf("entrer le nom : ");
                 scanf("%s",&nom[i]);
                 printf("entrer le prenom : ");
                 scanf("%s",&prenom[i]);
                 printf("entrer le semestre : ");
                 scanf("%d",&sem[i]);
                 printf("entrer la note : ");
                 scanf("%f",&note[i]);
                 }
                
                   
     }
int recherche(int m0)
{ int mm=0;
 for(i=0;i<n;i++)
 {if (m0==mat[i])
 {
     mm=i;break;
     }
                 }
    return mm;
   
}
void supprimer(int m0)
{
    for ( i=m0;i<n;i++)
    {
        mat[i]=mat[i+1];
        nom[i]=nom[i+1];
        prenom[i]=prenom[i+1];
        note[i]=note[i+1];
        sem[i]=sem[i+1];
        }
        n--;
}
void trier()
{
   
     for(i=0;i<n;i++)
     {
                     for(j=i+1;j<n;j++)
                     {
                                     if(mat[i]>mat[j])
                                     {
                                      m=mat[i];
                                      mat[i]=mat[j];
                                      mat[j]=m;
                                     
                                      nn[1]=nom[i];
                                      nom[i]=nom[j];
                                      nom[j]=nn[1];
                                     
                                      nn[1]=prenom[i];
                                      prenom[i]=prenom[j];
                                      prenom[j]=nn[1];
                                     
                                      nt=note[i];
                                      note[i]=note[j];
                                      note[j]=nt;
                                     
                                      m=sem[i];
                                      sem[i]=sem[j];
                                      sem[j]=m;
                                                     
                                     }
                                     }
                     }
     }
void afficher()
{
     for(i=0;i<n;i++)
     {
                     printf("le matricule est: %d",mat[i]);
                     printf("le nom est: %s",nom[i]);
                     printf("le prenom est: %s",prenom[i]);
                     printf("le note est: %f",note[i]);
                     printf("le semetre est: %d",sem[i]);
                    
                     }
     }
void modifier(m1)
{
                
                 printf("entrer le nom : ");
                 scanf("%s",&nom[m1]);
                 printf("entrer le prenom : ");
                 scanf("%s",&prenom[m1]);
                 printf("entrer le semestre : ");
                 scanf("%d",&sem[m1]);
                 printf("entrer la note : ");
                 scanf("%f",&note[m1]);
     }

void menu()
{
     printf("tapez votre choix : \n\n");
printf("1 : ajouter des stagiaires \n");
printf("2 : supprimer un stagiaire \n");
printf("3 : trier la liste des stagiaire \n");
printf("4 : modifier un stagiaire \n");
printf("5 : rechercher un stagiaire \n");
printf("6 : afficher la liste des stagiaires \n");
printf("7 : Quitter \n");
scanf("%d",&c);
     }
main ()
{



menu();

switch (c) {
       case 1 : printf("entrer le nombre de stagiaire : ");
               scanf("%d",&n);
               ajouter();   menu();       break;
              
       case 2 :
               m1=recherche(m0);
               if(m1!=0){supprimer(m1);}
               else{printf("n'existe pas ");} menu();
                        break;
       case 3 : trier();menu();              break;
       case 4 : printf("entrer le matricule de stagiaire a modifier: ");
                scanf("%d",&m3);
                m1=recherche(m0);
                if(m1!=0){modifier(m1);}
                else{printf("n'existe pas ");}
                      menu();   break;
       case 5 : m1=recherche(m0);  menu();   break;
       case 6 : afficher();   menu();        break;
       case 7 : printf("votre choix est de fermer le programme ");break;
      
      
       }

getch();
}

#include<stdio.h>
#include<conio.h>

main()
{
      int x,r,i,s;
      printf("taper un entier inferieur a 1000:");
      scanf("%d",&x);
     
      r=1000/x;
      s=x;
     
      printf("les multiples sont:\n");
      for(i=0;s<1000;i++)
      {
             printf("%d\n",s);
             s=s*2;
      }
      printf("le nombre de multiple dans le 1000 est: %d\n\n",i);
      getch();
      }

#include<stdio.h>
#include<conio.h>
main()
{
/*
 
*
**
***
****
*********
    ****
    ***
    **
    *
   
N=5;*/

int i,j,n;

printf("entrer un entier: ");
scanf("%d",&n);

for(i=0;i<(2*n);i++)
 {

     if(i<n){   
                 for(j=0;j<i;j++)
                 {
                                  printf("*");
                 }     printf("\n");
             }
     else if(i==n)
     {
          for(j=0;j<(2*n)-1;j++)
          {
                                printf("*");
          }
          printf("\n");
     }
     else {
          for(j=0;j<n-1;j++)
          {
                            printf(" ");
          }
          for(j=i;j<(2*n)
          ;j++)
          {
          printf("*");                       
          }
          printf("\n");
          }
  }
                   
  
  
  
     
   /*************************
     for(i=0;i<n;i++)
     {
                    
                     for(j=0;j<i;j++)
                     {
                                     printf("*");
                                     
                                     }
                                     printf("\n");
                     }                
                     
                      */
                     
 getch();
}

#include <stdio.h>
#include <conio.h>

main()
{
      int i,j,n,t[100];
      printf("nombre:");
      scanf("%d",&n);
      for(i=0;i<n;i++)
      {
      printf("taper Nm:");
      scanf("%d",&t[i]);               
      }
/*      for(i=0;i<n;i++)
      {
      
         for(j=i;j<n;j++)
         {
              if(t[j]==0)
             {          
              t[j]=t[j+1]; 
                 
             }  
           
        }               
      }
      */
     
       for (i=0, j=0 ; i<n ; i++)
     {
      t[j] = t[i];
      if (t[i]) j++;
     }
      printf("\n\n");
      for(i=0;i<n;i++)
      {
      printf("\nNm: %d",t[j]);
                  
      }
     
      getch();
      }

#include <stdio.h>
#include <conio.h>

main()
{
     
      int t[100],i,j,n,r;
      printf("taper le NB:");
      scanf("%d",&n);
     
      for(i=0;i<n;i++)
      {
                      printf("\n taper une valeur:");
                      scanf("%d",&t[i]);
                      }
      for(i=0;i<n/2;i++)
      {
                      r=t[i];
                      t[i]=t[n-1-i];
                      t[n-1-i]=r;
                      }
      for(i=0;i<n;i++)
      {
                      printf("\nvaleur: %d",t[i]);
                      }
      getch();}

#include <stdio.h>
#include <conio.h>
main()
{
 /* Déclarations */
 int T[50][50]; /* tableau donné */
   int t[100];
 int L, C;  /* dimensions        */
 int I, J;  /* indices courants  */
 long SOM;  /* somme des éléments - type long à cause */
            /* de la grandeur prévisible du résultat. */

 /* Saisie des données */
 printf("Nombre de lignes   (max.50) : ");
 scanf("%d", &L );
 printf("Nombre de colonnes (max.50) : ");
 scanf("%d", &C );
 for (I=0; I<L; I++)
    for (J=0; J<C; J++)
        {
         printf("Elément[%d][%d] : ",I,J);
         scanf("%d", &T[I][J]);
        }
  /* Affichage du tableau */
 printf("Tableau donné :\n");
 for (I=0; I<L; I++)
    {
     for (J=0; J<C; J++)
         printf("%7d", T[I][J]);
     printf("\n");
    }
  /* Calcul de la somme  */

 for (SOM=0, I=0; I<L; I++)
 {
     for (J=0; J<C; J++)
     {
        // SOM += T[I][J];
         t[I]+=T[I][J];
         t[I+L]+=T[J][I];
         }
         }
  /* Edition du résultat */
 printf("Somme des éléments : \n" );
 for (I=0; I<(L+C); I++)
 {
     printf("%d\n",t[I] );
     }
     for (I=0; I<500^1000; I++)
 {}
 getch();
}


#include <stdio.h>
#include <conio.h>
main()
{
 /* Déclarations */
 char TXT[201]; /* chaîne donnée       */
 int I,J;  /* indices courants         */
 int L;    /* longueur de la chaîne    */
 int C;    /* compteur des lettres 'e' */
 int AIDE; /* pour l'échange des caractères */

 /* Saisie des données */
 printf("Entrez une ligne de texte (max.200 caractères) :\n");
 gets(TXT); /* L'utilisation de scanf est impossible pour */

 /* lire une phrase contenant un nombre variable de mots. */

 /* a) Compter les caractères */
 /* La marque de fin de chaîne '\0' est */
 /* utilisée comme condition d'arrêt. */
 for (L=0; TXT[L]; L++)
     ;
 printf("Le texte est composé de %d caractères.\n",L);

 /* b) Compter les lettres 'e' dans le texte */
 C=0;
 for (I=0; TXT[I]; I++)
     if (TXT[I]=='e') C++;
 printf("Le texte contient %d lettres \'e\'.\n",C);

 /* c) Afficher la phrase à l'envers */
 for (I=L-1; I>=0; I--)
     putchar(TXT[I]);  /* ou printf("%c",TXT[I]); */
 putchar('\n');        /* ou printf("\n"); */

 /* d) Inverser l'ordre des caractères */
 for (I=0,J=L-1 ; I<J ; I++,J--)
    {
     AIDE=TXT[I];
     TXT[I]=TXT[J];
     TXT[J]=AIDE;
    }
 puts(TXT);  /* ou printf("%s\n",TXT); */

 getch();
}

#include <stdio.h>
#include <string.h>
#include <conio.h>

main()
{
     
      char nom[15],prenom[20];
      int n,p;
      printf("entrer nom: \n");
      gets(nom);
      printf("entrer votre prenom: ");
      gets(prenom);
      n=strlen(nom);
      p=strlen(prenom);
      printf("ln nom: %d \nln prenom: %d",n,p);
     
     
      getch();
      }

#include <stdio.h>
#include <string.h>
#include <conio.h>
char verb[30],conj[50]={'\0'},verb1[30],verb2[30]={'\0'};
      int l;
     
main()
{
     
     
      printf("taper le verbe:\n");
      gets(verb);
      printf("taper le deuxieme verbe:\n");
      gets(verb1);
     
      l=strlen(verb);
      if(verb[l-2]!='e' || verb[l-1]!='r')
      {
                        printf("hahahah");
      }
      else {
          
           verb[l-1]='\0';
           //conj[0]='\0';
           strcat(conj,"Je ");
           strcat(conj,verb);
           puts(conj);
           }                 
       strncpy(verb2, verb1, strlen(verb1)/2);
       strncat(verb2, verb, strlen(verb)/2);
      puts(verb2);
      getch();
      }

#include <stdio.h>
#include <conio.h>
int i;
float r;
typedef struct{
        int j,m,a;
        }date;
struct st{
       char nom[20],prenom[30];
       float note[3];
       int mat;
      
       };

float moy(st {note})
{
    for(i=0;i<3;i++)
    {
      r=e[1].note1+e[1].note2+e[1].note3;            
    }
    return r;
}

main()
{
     
      st e[100];
     
    
        printf("valeur:");
        scanf("%f%f%f",&e[1].note1,&e[1].note2,&e[1].note3);
      
      r=moy(e[3].note);
    
                  
   
      printf("moy: %f",r);
      getch();
      }
 
Publié par Drupal french Study