cherche solution brabbi

الموضوع في 'أرشيف المنتدى التعليمي' بواسطة king fire, بتاريخ ‏17 ديسمبر 2007.

حالة الموضوع:
مغلق
  1. king fire

    king fire عضو

    إنضم إلينا في:
    ‏3 ديسمبر 2007
    المشاركات:
    80
    الإعجابات المتلقاة:
    9
      17-12-2007 20:16
    salut les amis,
    j'ai vraiment besoin de votre aide , et c'est urgent svp, je veux que vous m'aidez a trouver la solution de cet exercice:
    On considère une matrice nommée CLASS représentant les classements d'un ensemble de nc chansons au cours de 7 jours de la semaine. Chaque ligne i de la matrice représentele classement des chansons pour la journée i. De meme, chaque colonne j de CLASS désigne les rangs obtenus par la chanson j durant la semaine. Ainsi un élément CLASS[i,j] de la matrice représente le rang de la chanson j pour le jour i.
    exemple:soit la matrice CLASS suivante avec nc=5 :
    chansons

    en utilisant une analyse modulaire, ecrire un programme qui permet de :
    1. lire une matrice CLASS d'entiers dont le nombre de lignes est 7 et le nombre de colonnes est nc (3<=nc<=20)
    2. afficher la matrice CLASS
    3. lire un numéro nj d'une journée et afficher le classement de la journée nj sous le format suivant:
    exemple (suite): soit nj=3
    1-chanson N°2
    2-chanson N°3
    3-chanson N°4
    4-chanson N°1
    5-chanson N°5

    4.afficher l classement final pour la matrice sachant qu'une meilleure chanson doit avoir le minimum des totaux des classements durant les 7 journées.
    exemple (suite)
    Total( le total par ligne c'est le total d'une chanson)
    =23 =9 =15 =25 =33
    classement final:
    1. chanson N°2
    2. chanson N°3
    3. chanson N°1
    4. chanson N°4
    5. chanson N°5
    donc cette 4ème question consiste à classer les chansons , càa afficher le rang , ce rang vas etre défini suivant le total de chaque des point s de chaque chansons durant toute la semaine (durant les 7 jours) donc la chanson qui a accumulé les minimum des points c'est celle qui a , durant les 7 jours , été parmi les premières chansons, donc c'est la meilleure chanson, et donc elle va etre la mieu classée, son classement final est donc 1

    merci d'avance​
     
  2. moujib1985

    moujib1985 صديق المنتدى

    إنضم إلينا في:
    ‏21 سبتمبر 2007
    المشاركات:
    5.376
    الإعجابات المتلقاة:
    14.179
      18-12-2007 18:13
    program chansons;
    uses wincrt;
    type Matrice= array[1..7,1..20] of integer;
    tab= array [1..20] of integer;
    var m: matrice;
    nc,nj: integer;
    T: tab;

    function exist(x: integer; M: matrice; l:integer ; p : integer ) : boolean;
    var j: integer;

    trouve : boolean;
    begin
    trouve:= false;
    j:= 1;
    while ((x <> M[l,j]) and (j <= p)) do
    j:= j+1;

    if j<= p then
    trouve := true;
    exist:= not trouve;
    end;


    procedure lire (var M:matrice ; var nc: integer );
    var i, j : integer ;
    begin
    repeat
    write ('donner le nombre de chansons: ');
    readln(nc);
    until (nc in [3..20]);
    {remplissage de la matrice**
    randomize;
    for i:= 1 to 7 do
    M[i,1]:= random(nc)+1;
    for i:= 1 to 7 do
    for j:= 2 to nc do
    repeat
    M[i,j]:= random (nc) +1 ;
    until exist (M[i,j], M, i, j-1) ;

    end;

    procedure afficher (M: matrice; nc: integer);
    var i, j : integer;
    begin
    for i:= 1 to 7 do


    for j:= 1 to nc do
    begin
    write (M[i,j],' ');
    if j=nc then
    writeln;

    end;
    end;

    procedure classement (M: matrice; nc : integer );
    var j :integer;
    begin
    repeat
    write ('donner le numero de jours à afficher son classement: ');
    readln(nj);
    until nj in [1..7];
    writeln ('Classement du jour N°: ', nj);
    writeln ('-------------------------');
    for j:= 1 to nc do
    writeln ('Chanson N° ', M[nj,j]);
    end;

    procedure recherche_min (var T: tab; nc: integer; var imin: integer);
    var i, cpt,min : integer;
    begin


    min:= 10000;
    imin := 1;
    for i:= 1 to nc do
    if T< min then
    begin
    min := T;
    imin := i;
    end;
    T[imin]:= 10000 ;

    end ;


    procedure final (M: matrice; nc: integer; var T: tab);

    var imin, i,j:integer;
    begin
    for j:= 1 to nc do
    begin
    T[j]:= 0;
    for i:= 1 to 7 do
    begin
    T[j]:= T[j] + M[i,j];

    end;

    end;
    writeln;
    writeln('Classment final') ;
    writeln('---------------');
    for i:= 1 to nc do
    begin
    write (i,'- :');
    recherche_min (T,nc,imin);
    writeln ('Chanson N° ', imin);
    end;

    end;


    BEGIN
    lire (M,nc);
    afficher (M,nc);
    classement(M, nc);
    final (M, nc, t);
    END.

     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة

جاري تحميل الصفحة...