Vous êtes sur la page 1sur 4

// Ecole Infohouse Maroc Année scolaire : 2010/2011

// TP 2 Langage C : Traitements sur tableau – Prof. : Mr Zaryouch – Filière : TGI2


// Les stagiaires doivent refaire le même programme en utilisant les fonctions
// Le but est de structurer le programme
#include <stdio.h>
#include <stdlib.h>
int main()
{
// Chargement d'un tableau à partir du clavier
int n;
system("cls");
printf("\t \t \t Chargement dun tableau \n \n");
printf("Tapez le nombre des elements du tableau a charger : ");
scanf("%d",&n);
printf("\n");
int t[n];
int i;
for (i=0;i<n;i++)
{ printf("Pour i = %d ",i);
printf("\tTapez sa valeur : ");
scanf("%d",&t[i]);
}
system("pause");
char rep[1];
// Affichage des elements à partir du tableau
printf("\n
=============================================================================\n");
printf("\t \t Affichage des elements saisis dans le tableau \n \n");
for (i=0;i<n;i++)
{ printf("Pour i = %d",i);
printf("\t Sa valeur saisie = ");
printf("%d",t[i]);
printf("\n");
}
// Recherche d'un element dans le tableau charge
int v,p;
bool reponse = false;
printf("\n
=============================================================================\n");
printf("\t \t Recherche d'un element dans le tableau charge \n \n");
printf("Tapez la valeur de l element à rechercher dans le tableau : ");
scanf("%d",&v);
for (i=0;i<n;i++)
if (v==t[i])
{
reponse = true;
p = i;
}
if (reponse == true)
{
printf("\n La valeur recherchee est bien %d",v);
printf("\n Elle se trouve a la position %d",p);

- Page 1 – TP 2 Traitements sur un tableau


printf("\n");
}
else
printf("\n La valeur recherchee ne se trouve pas dans le tableau charge\n ");
system("pause");
// Suppression d'un element dans le tableau charge
int choix;
printf("\n
=============================================================================\n");
printf("\t \t Suppression de la valeur d'un element dans le tableau charge \n \n");
printf("Tapez la valeur de l element à supprimer dans le tableau : ");
scanf("%d",&v);
for (i=0;i<n;i++)
if (v==t[i])
{
reponse = true;
p = i;
}
if (reponse == true)
{
printf("\n La valeur a supprimer est = %d",v);
printf("\n Elle se trouve bien a la position %d",p);
printf("\n Voulez-vous bien la supprimer (Tapez 1 si Oui ou 2 Si Non) : ");
scanf("%d",&choix);
if (choix == 1)
{
n--;
for (i=p;i<n;i++)
t[i] = t[i+1];
printf("\n Suppression faite\n ");
}
}

else
printf("\n La valeur recherchee ne se trouve pas dans le tableau charge \n");
system("pause");

// Voir si la valeur a été bien supprimée ou pas, il suffit d'afficher les éléments du
tableau
printf("\n
=============================================================================\n");
printf("\t \t Verifiez si la valeur a ete bien supprimee ou pas ! \n \n");
for (i=0;i<n;i++)
{ printf("Pour i = %d",i);
printf("\t Sa valeur est bien = ");
printf("%d",t[i]);
printf("\n");
}
// Modification de la valeur d'un element du tableau charge
printf("\n
=============================================================================\n");
printf("\t \t Modification de la valeur d'un element dans le tableau charge \n \n");
printf("Tapez la valeur de l element à modifier dans le tableau : ");

- Page 2 – TP 2 Traitements sur un tableau


scanf("%d",&v);
for (i=0;i<n;i++)
if (v==t[i])
{
reponse = true;
p = i;
}
if (reponse == true)
{
printf("\n La valeur a modifier est = %d",v);
printf("\n Elle se trouve bien a la position %d",p);
printf("\n Voulez-vous bien la modifier (Tapez 1 si Oui ou 2 Si Non) : ");
scanf("%d",&choix);
if (choix == 1)
{
printf("Tapez la nouvelle valeur : ");
scanf("%d",&v);
t[p] = v;
printf("\n Modification faite \n");
}
}
else
printf("\n La valeur à modifier ne se trouve pas dans le tableau charge \n");
system("pause");

// Voir si la valeur a été bien modifiée ou pas, il suffit d'afficher les éléments du
tableau
printf("\n
=============================================================================\n");
printf("\t \t Verifiez si la valeur a ete bien modifiée ou pas ! \n \n");
for (i=0;i<n;i++)
{ printf("Pour i = %d",i);
printf("\t Sa valeur est bien = ");
printf("%d",t[i]);
printf("\n");
}
// Ajout d'un élément dans le tableau chargé
printf("\n
=============================================================================\n");
printf("\t \t \t Ajout d'un element dans le tableau charge \n");
printf("Tapez la valeur à ajouter : ");
scanf("%d",&v);
printf("A partir de quelle position vous voulez l'ajouter ? \n");
printf("tapez une valeur entre 1 et %d) : ",n);
scanf("%d",&p);
if (p<1 || p>n)
printf("Position rejetee car hors limite ! \n");
else
{
for (i=p;i<n;i++)
t[i] = t[i+1];
t[p] = v;
n++;

- Page 3 – TP 2 Traitements sur un tableau


}
printf("Ajout fait \n");
system("pause");

// Voir si la valeur a été bien ajoutée ou pas, il suffit d'afficher les éléments du
tableau
printf("\n
=============================================================================\n");
printf("\t \t Verifiez si la valeur a ete bien ajoutee ou pas ! \n \n");
for (i=0;i<n;i++)
{ printf("Pour i = %d",i);
printf("\t Sa valeur est bien = ");
printf("%d",t[i]);
printf("\n");
}
system("pause");

// Tri d'un tableau dans un ordre croissant


int j,k;
printf("\n
=============================================================================\n");
printf("\n Voulez-vous trier votre tableau dans un ordre croissant ? \n");
printf("Tapez 1 si Oui ou 2 Si Non) : ");
scanf("%d",&choix);
if (choix == 1)
{ for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (t[i]> t[j])
{ k = t[i];
t[i] = t[j];
t[j] = k;
}
}

// Voir si le tableau a bien été tri dans un ordre croissant


// Voir si la valeur a été bien modifiée ou pas, il suffit d'afficher les éléments du
// tableau
printf("\n
=============================================================================\n");
printf("\t \t Verifiez si le tableau a bien ete trie ou pas ! \n \n");
for (i=0;i<n;i++)
{ printf("Pour i = %d",i);
printf("\t Sa valeur est bien = ");
printf("%d",t[i]);
printf("\n");
}

system("pause");
return 0;
}

- Page 4 – TP 2 Traitements sur un tableau