Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FonctionAlgorithme:remplir
ProcedureremplirTab(t[]:rel,
taille:entier)
Variablesi:entier
Debut
Pouriallantde0taille(t)1
Ecrire("Saisirlavaleurdelacase",i+1);
Lire(t[i]);
Finpour
Fin
FonctionAlgorithme:afficher
ProcedureafficheTab(floatt[],inttaille)
Variablesi=0:entier;
Debut
Pouriallantde0taille(t)1
Ecrire("Lavaleurdelacase",i+1,"est:",t[i]);
FonctionenC
/*Passageparrfrence*/
voidremplirTab(floatt[],inttaille)
{
inti;
for(i=0;i<taille;i++)
printf("Saisirlavaleurdelacase%d",i);
scanf("%f",&t[i]);
}
}
FonctionenC
voidafficheTab(floatt[],inttaille)
{
inti=0;
for(i=0;i<taille;i++)
printf("Lavaleurdelacase%dest%f\n",i,t[i]);
2. Rechercherunevaleurdansuntableauetretournelapremirepositionsicesttrouv
oubien1sicettevaleurnexistepas
FonctionAlgorithme
FonctionenC
intrechercher(intvrech,intN,intt[])
Fonctionrechercher
(vrech:entier,t[]:entier,taille:entier):entier {
//Nlatailledutableau
Variablespos,i:entier
intpos,i;
Debut
//oninitialiseposition1commesilavaleur //oninitialiseposition1commesilavaleurrecherch
n'existepas
//recherchnexistepas
pos=1;
Pos=1
for(i=0;i<N;i++)
Pouriallantde0taille(t)1
{
Si(t[i]=vrech)
if(t[i]==vrech)
alors
{
pos=i;
pos=i;break;}
sortir;
Fsi
}
Finpour
Retournepos;
returnpos;}
Fin
3. Rechercherdansuntableau
Rechercherunevaleurdansuntableauet
retourne1sicesttrouvoubien1sicette
valeurnexistepas
FonctionenC
intchercherMotif(intT[],inttaille,intmotif)
inti;
for(i=0;i<taille;i++)
if(t[i]==motif)
return1;//onterminelafonction
return0;
Rechercherlepluspetitlmentdansuntableaudentier
partirdunecasedonneindex
FonctionenC
intminTab(intT[],intindex,inttaille)
{
inti;
inttmp;
tmp=T[index];
//onsupposequeleplusestT[indice]:initialisation
for(i=index+1;i<taille;i++)
//laboucle
commencepartird'index+1
if(T[i]<tmp)
//sijetrouveunpluspetit,jechangelemin
}
2
tmp=T[i];
4. Modifierunevaleurdansuntableau
Lamodificationconsistelocaliserc..d.rechercherlavaleurmodifieretaprscraser
lancienvaleurparlanouvellevaleur.
FonctionenC
FonctionAlgorithme
Voidmodifier(intvrech)
Fonctionmodifier(vrech:entier):vide
{
Variablespos,i,choix,nouvv:entier
Intpos,i,choix,nouvv;
Debut
if(pos!=1)
pos=rechercher(vrech);
1.
Supprimerunevaleurdansuntableau
{pos=rechercher(vrech);
Si(pos<>1)alors
printf(VoulezvousconfirmerlamodificationOui(1)/non(0):);
Ecrire(Voulezvousconfirmerlamodification
2. Triduntableau
scanf(%d,&choix);
Oui(1)/non(0):);
if(choix==1)
Lire(choix);
Si(choix=1)alors
Ecrire(Entrerlanouvellevaleur:);
Lire(nouvv);
t[pos]=nouv;
Finsi
Finsi
Fin
}
}
printf("Entrerlanouvellevaleur:");
scanf("%d,&nouvv");
t[pos]=nouv;
}
3. Insertiondunevaleurdansuntableau
Algorithme
inserer(x:entier,pos:entier,
t[]:entier,n:entier)
VARIABLES
j: entier;
DEBUT
Pour j allant de i+1 N
FonctionenC
voidinserer(intx,intpos,intt[],intn)
{
intj;
for(j=n;j<=pos+1;j)
t[j]=t[j1];
t[pos]=x;
}
Supprimerunevaleurdansuntableau
Lasuppressionconsistelocaliserc..d.rechercherlavaleursupprimeretaprsfairedes
dcalages
FonctionAlgorithme
Fonctionsupprimer(vrech:entier):vide
Variablespos,i,choix,nouvv:entier
Debut
pos=rechercher(vrech);
Si(pos<>1)alors
Ecrire(Voulezvousconfirmerlasuppression
Oui(1)/non(0):);
Lire(choix);
Si(choix=1)alors
PourIallantdepostaille(t)1
t[i]=t[i+1];
Finpour
t[taille1]=0;
Finsi
Finsi
Fin
//pourleschanesonmetdanst[taille1]
lecaractredefindunechane\0.
FonctionenC
voidsupprimer(intvrech,intt[],intn)
{
intpos,i,choix,nouvv;
if(pos!=1)
{
pos=rechercher(vrech,n,t);
do
{
printf("VoulezvousconfirmerlasuppressionOui(1)/non(0):");
scanf("%d",&choix);
}
While(choix!=1&&choix!=0);
if(choix==1)
{
for(i=pos;i<n;i++)
{
t[i]=t[i+1];
}
t[n1]=0;
4. Trieruntableauparpermutation:simple
FonctionAlgorithme
//tricroissant
Fonctiontri(T[]:entier,taille:entier):vide
voidtri(intT[],inttaille)
Variablesi,c:entier
{
Debut
Pouriallantde0taille(T)1
{
//Pourchaquelmentsitudanslacasede
lindiceionle//compareavectousleslments
//det
for(j=i+1;j<taille;j++)
if(T[j]>T[i])
c=T[i];
T[i]=T[j];
T[j]=c;
}
}
}
FonctionenC
inti,j;
intc;
for(i=0;i<taille;i++)
{
//Pourchaquelmentsitudanslacasedelindiceionle
//compareavectousleslmentsdet
for(j=i+1;j<taille;j++)
if(T[j]>T[i])
c=T[i];
T[i]=T[j];
T[j]=c;
}
}
} }
4