Exercice: Extrait BAC : Boucles + tableaux
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 1 sur 1
Exercice: Extrait BAC : Boucles + tableaux
Enoncé de l'exercice
On se propose de remplir un tableau TRESULTAT par les éléments d'un tableau T contenant n entiers positifs (3<= n<= 10) en utilisant leurs positions rangées dans un tableau TPOS. Les positions de deux éléments consécutifs de T sont séparées dans le tableau TPOS par un élément de valeur 0.
NB: Les éléments de T sont supposés saisis différents deux à deux . On ne fera pas de test sur cette contrainte.
Ecrire un programme Pscal qui permet de reconstituer le tableau TRESULTAT à partir des tableau T et TPOS.
Exemple:
T
TPOS
TRESULTAT contiendra
On se propose de remplir un tableau TRESULTAT par les éléments d'un tableau T contenant n entiers positifs (3<= n<= 10) en utilisant leurs positions rangées dans un tableau TPOS. Les positions de deux éléments consécutifs de T sont séparées dans le tableau TPOS par un élément de valeur 0.
NB: Les éléments de T sont supposés saisis différents deux à deux . On ne fera pas de test sur cette contrainte.
Ecrire un programme Pscal qui permet de reconstituer le tableau TRESULTAT à partir des tableau T et TPOS.
Exemple:
T
4 | 10 | 2 | 5 |
5 | 7 | 0 | 1 | 0 | 2 | 3 | 4 | 0 | 6 | 8 |
10 | 2 | 2 | 2 | 4 | 5 | 4 | 5 |
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7870
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Exercice: Extrait BAC : Boucles + tableaux
Une des solutions trouvées sur le net :
Rendez-vous s'il y a des erreurs !!!
- Spoiler:
- Code:
Program TABLEAU;
uses wincrt;
Type
tab1=array[1..10] of integer;
tab2=array[1..20] of integer;
var t:tab1;
tresultat,tpos:tab2;
n,m,k:integer;
procedure saisie(var x:integer; a,binteger);
begin
repeat
write('Donner un entier compris entre ',a,' et ',b,' ');
read(x);
until x in [a..b];
end;
procedure remplir(n,m:integer;var t:tab1;var TPOS:tab2);
var i:integer;
begin for i:=1 to n do
repeat write('T[',i,']=');
read(t[i]);
until t[i]>0;
for i:=1 to m do
repeat
write('TPOS[',i,']=');
read(tpos[i]);
until tpos[i] in [0..m];
end;
procedure ranger(n,m:integer;t:tab1;tpos:tab2;var tresultat:tab2;var k:integer);
var i,j:integer;
begin
j:=1;
k:=0;
for i:=1 to m do
if (tpos[i]=0) and (jelse
begin
tresultat[tpos[i]]:=T[i];
k:=k 1;
end;
end;
procedure affiche(k:integer;tresultat:tab2);
var i:integer;
begin
for i:=1 to k do
write(tresultat[i],' ');
end;
begin
saisie(n,3,10);
saisie(m,n;50);
remplir(n,m,t,TPOS);
ranger(n,m,t,tpos,tresultat,k);
affiche(k,resultat);
end.
Rendez-vous s'il y a des erreurs !!!
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7870
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Sujets similaires
» Exercice: Extrait BAC : anagramme + boucles
» Exercice corrigé: Extrait BAC : Boucles + Random + Simulation d'un jeu
» Exercice : Obligatoirement positifs et négatifs + boucles
» Exercice sympa sur les tableaux
» Exercice (bac pratique): Manipulation des tableaux
» Exercice corrigé: Extrait BAC : Boucles + Random + Simulation d'un jeu
» Exercice : Obligatoirement positifs et négatifs + boucles
» Exercice sympa sur les tableaux
» Exercice (bac pratique): Manipulation des tableaux
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum