Pages

samedi 29 mars 2014

Exercices corrigés en langage C++ : Les tableaux (1)

Exercices corrigés en langage C++ : Les tableaux
langage c++
Exercice 1 : 

Écrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau. Le programme doit afficher le nombre d'entiers supérieurs ou égaux à 10.

Correction exercice 1 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int t[10],i,nb=0;
for(i=0;i<N;i++){cout<<"Tapez un entier ";cin>>t[i];}
for(i=0;i<N;i++)if(t[i]>=10)nb++;
cout<<"Le nombre d'entiers supérieurs ou égaux à 10 est : " 
 <<nb<<endl;
return 0;
}


Exercice 2 : 

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et afficher "V se trouve dans le tableau" ou "V ne se trouve pas dans le tableau".

Correction exercice 2 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int t[N],i,V;
bool trouve;
for(i=0;i<N;i++){cout<<"Tapez un entier ";cin>>t[i];}
cout<<"Tapez la valeur de V : ";cin>>V;
 
trouve=false;
i=0;
while(!trouve && i<N)
 if(t[i]==V)trouve=true; else i++;
if(trouve) cout<<"La valeur V se trouve dans le tableau"<<endl;
 else cout<<"La valeur V ne se trouve pas dans le tableau"<<endl;
return 0;
}


Exercice 3 : 

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau. Le programme doit ensuite afficher l'indice du plus grand élément.

Correction exercice 3 :

#include<iostream>
using namespace std;
 
const int N=10;
int main()
{
int t[N],i,indice;
 
for(i=0;i<N;i++){cout<<"Tapez un entier ";cin>>t[i];}
indice=0;
for(i=1;i<N;i++)
 if(t[indice]<t[i])indice=i;
 
cout<<"L'indice du plus grand élément est : "<<indice<<endl;
return 0;
 
}


Exercice 4 : 

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et doit supprimer la première occurrence de V en décalant d'une case vers la gauche les éléments suivants et en rajoutant un 0 à la fin du tableau. Le programme doit ensuite afficher le tableau final.

Correction exercice 4 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int t[N],i,j,V;
bool trouve;
for(i=0;i<N;i++){cout<<"Tapez un entier ";cin>>t[i];}
cout<<"Tapez la valeur de V : ";cin>>V;
 
trouve=false;
i=0;
while(!trouve && i<N)
 if(t[i]==V)trouve=true; else i++;
 
if(trouve)
 {
 for(j=i;j<N-1;j++)t[j]=t[j+1];
 t[N-1]=0;
 }
for(i=0;i<N;i++)cout<<t[i]<<endl;
 
return 0;
}
}


Exercice 5 : 

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V et un entier i compris entre 0 et 9. Le programme doit décaler d'une case vers la droite tous les éléments à partir de l'indice i (en supprimant le dernier élément du tableau) et doit mettre la valeur V dans le tableau à l'indice i. Le programme doit ensuite afficher le tableau final.

Correction exercice 5 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int t[N],i,indice,V;
 
for(i=0;i<N;i++){cout<<"Tapez un entier ";cin>>t[i];}
cout<<"Tapez un indice (de 0 à 9) : ";cin>>indice;
cout<<"Tapez la valeur de V : ";cin>>V;
 
if(indice>=0 && indice<=N-1)
 {
 for(i=N-1;i>indice;i--)t[i]=t[i-1];
 t[indice]=V;
 }
 
for(i=0;i<N;i++)cout<<t[i]<<endl;
 
return 0;
}


Exercice 6 : 

Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit ensuite afficher soit "le tableau est croissant", soit "le tableau est décroissant", soit "le tableau est constant", soit "le tableau est quelconque".

Correction exercice 6 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int a[N],i;
bool trouve=false;
bool croissant=true,decroissant=true;
 
for(i=0;i<N;i++)
 {
 cout<<"Veuillez taper l'entier numero "<<i<<" : ";cin>>a[i];
 }
for(i=0;i<N-1;i++)
 {
 if(a[i]>a[i+1])croissant=false;
 if(a[i]<a[i+1])decroissant=false;
 }
 
if(croissant && decroissant) cout<<"le tableau est constant"<<endl;
if(croissant && !decroissant) cout<<"le tableau est croissant"<<endl;
if(!croissant && decroissant) cout<<"le tableau est decroissant"<<endl;
if(!croissant && !decroissant) cout<<"le tableau est quelconque"<<endl;
 
return 0;
}


Exercice 7 : 

Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau.
Algorithme suggéré :
On cherche l'indice du plus petit élément parmi les indices de 0 à 9 et on échange cet élément avec t[0].
On cherche l'indice du plus petit élément parmi les indices de 1 à 9 et on échange cet élément avec t[1].
On cherche l'indice du plus petit élément parmi les indices de 2 à 9 et on échange cet élément avec t[2].
... On cherche l'indice du plus petit élément parmi les indices de 8 à 9 et on échange cet élément avec t[8].


Correction exercice 7 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int a[N],i,j,min,imin,tmp;
 
for(i=0;i<N;i++)
  {
  cout<<"Veuillez taper l'entier numero "<<i<<" : ";cin>>a[i];
  }
 
for(i=0;i<N-1;i++)
  {
  imin=i;min=a[i];
  for(j=i+1;j<<N;j++)if(a[j]<min){min=a[j];imin=j;}
 
  tmp=a[imin];a[imin]=a[i];a[i]=tmp;
  }
cout<<"VOICI LE TABLEAU TRIE :"<<endl;
for(i=0;i<N;i++)cout<<"a["<<i<<"]="<<a[i]<<endl;
 
return 0;
}


Exercice 8 : 

Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau.
Algorithme suggéré (tri bulle) :
On parcourt le tableau en comparant t[0] et t[1] et en échangeant ces éléments s'ils ne sont pas dans le bon ordre.
on recommence le processus en comparant t[1] et t[2],... et ainsi de suite jusqu'à t[8] et t[9].
On compte lors de ce parcours le nombre d'échanges effectués.
On fait autant de parcours que nécessaire jusqu'à ce que le nombre d'échanges soit nul : le tableau sera alors trié.


Correction exercice 8 :

#include<iostream>
using namespace std;
 
const int N=10;
 
int main()
{
int a[N],i,nb,tmp;
 
for(i=0;i<N;i++)
{cout<<"Veuillez taper l'entier numero "<<i<<" : ";cin>>a[i];}
 
do
 {
 nb=0;
 for(i=0;i<N-1;i++)
  if(a[i]>a[i+1])
   {
   tmp=a[i];a[i]=a[i+1];a[i+1]=tmp;
   nb++;
   }
 }while(nb!=0);
 
cout<<"VOICI LE TABLEAU TRIE :"<<endl;
for(i=0;i<N;i++)cout<<"a["<<i<<"]="<<a[i]<<endl;
 
return 0;
}


Aucun commentaire:

Enregistrer un commentaire

Partenaires

Computers Blogs
Ajoutez votre site

Contactez-nous

Nom

E-mail *

Message *

Tous droits resérvés-www.exercices-corriges.com Seo Blogger Templates