Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  lll
Language: PASCAL
Code:
program principal;
uses wincrt;
type
tab1=array [1..5] of string;
tab2=array [1..5] of integer;
var
t1:tab1;
t2:tab2;
n:integer;





procedure chanson (var t1:tab1);
var
i:integer;
begin
for i:=1 to 5 do
begin
repeat
writeln('saisir le titre de chanson n° ',i,':');
readln(t1[i]);
until verif(t1[i]);
end;
end;




function verif (ch:string):boolean;
var
j:integer;
begin
j:=0;
repeat
j:=j+1;
until (not (upcase(ch[j]) in ['A'..'Z',' '])) or (j=length(ch));
verif=upcase(ch[j]) in ['A'..'Z',' '];
en
procedure saisir (var n:integer);
begin
repeat
writeln('saisir le nombre des participants :');
readln(n);
until n in [1..100];
end;





procedure score (var t2:tab; n:integer);
var
i,num:integer;
begin
for i:=1 to 5 do 
begin
t2[i]:=0;
end;
for i:=1 to n do
begin
repeat
writeln('saisir le numero de la chanson :');
readln(num);
until (num in [1..5]);
t2[num]:=t2[num]+3;
end;
end;




procedure trier (var t2:tab2; var t1:tab1);
var
i,pmax,aux1:integer;
aux2:string;
begin
for i:=1 to 4 do
begin
p
pmax:=posmax(t2,i);
if (t2[pmax]<>t2[i]) then
begin
aux1:=t2[pmax];
t2[pmax]:=t2[i];
t2[i]:=aux1;
aux2:=t1[pmax];
t1[pmax]:=t1[i];
t1[i]:=aux2;
end;
end;
end;



function posmax (t2:tab2;i:integer);
var
pm,i:integer;
begin
for j:=i+1 to 5 do 
begin
if (t2[pm]<t2[j]) then
begin
pm:=j;
end;
end;
posmax=pm;
end;



procedure affiche (var t1:tab1;t2:tab2);
var
i,rang:integer;
begin
writeln('le classement ent :');
rang:=1;
writeln('rang',rang,':',t1[i]);
for i:=2 to 5 do
begin
if (t2[i-1]=t2[i]) then
begin
writeln(' ',t1[i]);
else
rang:=rang+1;
writeln('rang',rang,':',t1[i]);
end;
end;
end;




begin 
saisir(n);
trier(t1,t2);
score(t2,n);
chanson(t1);
affiche(t1,t2);
end
Chat Conversation End
Type a message...


          
Comments: