لو سمحتم الحل للبرنامج بـ بسكال ... و ألف شكر ...

الموضوع في 'لغات البرمجة' بواسطة Waelboumaiza, بتاريخ ‏8 ماي 2007.

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

    Waelboumaiza نجم المنتدى

    إنضم إلينا في:
    ‏19 جوان 2006
    المشاركات:
    2.225
    الإعجابات المتلقاة:
    1.563
      08-05-2007 23:46
    :besmellah1:

    السلام عليكم و رحمة الله و بركاته
    وبعد لو سمحتم اخواتي مساعدة في برنامج بسكال و ألف شكر
    باختصار البرنامج
    مثلا تعطيه
    "5698"
    و هو يعطيك
    الحاصل الأكبر "9865"
    و الحاصل الأصغر "5689"
    باختصار
    La combination maximale et minimal d'uns chaine d'entier.
    و ألف شكر مسبقا
     
  2. programmeur

    programmeur كبار الشخصيات

    إنضم إلينا في:
    ‏21 ماي 2006
    المشاركات:
    2.831
    الإعجابات المتلقاة:
    330
      09-05-2007 16:43
    slt les amis



    :wlcm: :wlcm: :wlcm: :wlcm: :wlcm:


    voila mon ami ce que tu veux j'ai fait ca pour tois tu es un ancien ami a moi si tu rapel bien dans l'ete passer dans ******************

    {{pas d'autre forum stp }}

    aller mon ami voila le code de prg

    كود (text):



    program aloulou_hatimos;
    uses wincrt;
    var
       n,i,j,k,int:integer;
       x,y:integer;
       min:integer;
       max:integer;
       t: array[1..10] of integer;
       tab: array[1..10] of integer;
    begin

    write('donner une valeur ');
    readln(n);
    x:=n;
    i:=1;
    repeat

          y:=x mod 10;
          x:=x div 10;

          if (not((y=0) and (x=0))) then
                             begin
                             t[i]:=y;
                             i:=i+1;
                             end;
    until ((y=0) and (x=0));
      x:=t[1];
      y:=t[1];

    i:=i-1;
    for k:=1 to i-1 do
    begin

    for j:=k to i do
    begin

         if t[k]< t[j] then
                             begin
                             int:=t[j];
                             t[j]:=t[k];
                             t[k]:=int;
                             end;
    end;

    end;

    for j:=1 to i do
    begin
    writeln('la valeur de t[',j,'est ',t[j]);
    end;

    j:=1;
    max:=0;
    for k:=i downto 1 do
    begin
         max:= max+(t[k]* j);
         j:=j*10;

    end;

    writeln('le min est : ',max);

    j:=1;
    min:=0;
    for k:=1 to i do
    begin
         min:= min+(t[k]* j);
         j:=j*10;

    end;

    writeln('le min est : ',min);
    writeln(' votre ami aloulou ou hatrimos et la pour vous mes amis ');


    end.


     
    votre ami ALOULOU ou HATIMOS et la pour vous mes amis


    :hi: :hi: :hi: :hi: :hi:
     
  3. Waelboumaiza

    Waelboumaiza نجم المنتدى

    إنضم إلينا في:
    ‏19 جوان 2006
    المشاركات:
    2.225
    الإعجابات المتلقاة:
    1.563
      10-05-2007 00:38
    ألف شكر أخي علولو أنا موش ناسي أخي الغالي أنت من أوائل أصدقائي في منتدى تونيزيا سات الغالي حقيقة ألف شكر .
    ريحتني ...
     
  4. programmeur

    programmeur كبار الشخصيات

    إنضم إلينا في:
    ‏21 ماي 2006
    المشاركات:
    2.831
    الإعجابات المتلقاة:
    330
      10-05-2007 09:50
    pas de koi mon ami el khali
     
  5. Waelboumaiza

    Waelboumaiza نجم المنتدى

    إنضم إلينا في:
    ‏19 جوان 2006
    المشاركات:
    2.225
    الإعجابات المتلقاة:
    1.563
      11-05-2007 08:58
    ألف شكر أخي و مبروك الترشيح للاشراف
     
  6. programmeur

    programmeur كبار الشخصيات

    إنضم إلينا في:
    ‏21 ماي 2006
    المشاركات:
    2.831
    الإعجابات المتلقاة:
    330
      12-05-2007 14:57
    machkour akhi el khali
     
  7. programmeur

    programmeur كبار الشخصيات

    إنضم إلينا في:
    ‏21 ماي 2006
    المشاركات:
    2.831
    الإعجابات المتلقاة:
    330
      09-06-2007 17:09
    :wlcm::wlcm::wlcm::wlcm::wlcm:


    أخي إن أردة البرنامج بهذه الطريقة

    العدد المقروء يكون ذا طبيعة سلسلة أشكال

    تفظل أخي

    كود (text):


    program aloulou_hatimos;
    uses wincrt;
    var
       o,i,j,k,int:integer;
       x,y:integer;
       min:integer;
       max:integer;
       t: array[1..10] of integer;
       tab: array[1..10] of integer;
       n:string;
    begin
    o:=1;
    write('donner une valeur ');
    readln(n);
    writeln;
    val(n,x,o);
    i:=1;
    repeat

          y:=x mod 10;
          x:=x div 10;

          if (not((y=0) and (x=0))) then
                             begin
                             t[i]:=y;
                             i:=i+1;
                             end;
    until ((y=0) and (x=0));
      x:=t[1];
      y:=t[1];

    i:=i-1;
    for k:=1 to i-1 do
    begin

    for j:=k to i do
    begin

         if t[k]< t[j] then
                             begin
                             int:=t[j];
                             t[j]:=t[k];
                             t[k]:=int;
                             end;
    end;

    end;

    j:=1;
    max:=0;
    for k:=i downto 1 do
    begin
         max:= max+(t[k]* j);
         j:=j*10;

    end;

    writeln('le max est : ',max);
     writeln;
    j:=1;
    min:=0;
    for k:=1 to i do
    begin
         min:= min+(t[k]* j);
         j:=j*10;

    end;

    writeln('le min est : ',min);
    writeln;
    writeln;
    writeln(' votre ami aloulou ou hatrimos et la pour vous mes amis ');


    end.

     
    :hi::hi::hi::hi::hi:
     
  8. mtcs

    mtcs عضو فعال

    إنضم إلينا في:
    ‏22 أكتوبر 2006
    المشاركات:
    326
    الإعجابات المتلقاة:
    44
      09-06-2007 18:46
    salut mon ami
    mais j'ai qq questions à poser
    pour quoi utiliser vous la type tableau or quand peut manipuler les chaine de caractère comme les tableau. dans ce cas on n'a plus besoin de transformer les chaine de caractère en entier à chaque fois, merci
     
  9. programmeur

    programmeur كبار الشخصيات

    إنضم إلينا في:
    ‏21 ماي 2006
    المشاركات:
    2.831
    الإعجابات المتلقاة:
    330
      09-06-2007 23:17
    mon ami j'ai transforme le nombre initial entrer par l'etulisateur de chaine de caractaire a un entier une seulle fois au debut pas plusieurs fois.

    il y a bqs des solutions pour faire ca
     
  10. mtcs

    mtcs عضو فعال

    إنضم إلينا في:
    ‏22 أكتوبر 2006
    المشاركات:
    326
    الإعجابات المتلقاة:
    44
      10-06-2007 17:07
    voiçi ma solution

    كود (text):
    program exemple;
    uses wincrt;
    var  n,min,max:string;


    function test (n:string):boolean;
    var i:byte;
    begin
      repeat
        inc(i);
      until not(n[i] in ['0'..'9']) or (i = length(n));
    test := (i = length(n));
    end;


    procedure saisie (var n:string);
    begin
      repeat
        writeln ('entrer un nombre');
        readln (n);
      until (test(n));
    end;

    function tri_min (n:string):string;
    var  i,j:byte; x:char;
    begin
      for i:= 1 to length(n) do
         for j:= 1 to length(n) do
            if n[i] < n[j] then
               begin
                 x:= n[i];
                 n[i]:= n[j];
                 n[j]:= x;
               end;
    tri_min := n;
    end;

    function tri_max (n:string):string;
    var  i,j:byte; x:char;
    begin
      for i:= 1 to length(n) do
         for j:= 1 to length(n) do
            if n[i] > n[j] then
               begin
                 x:= n[i];
                 n[i]:= n[j];
                 n[j]:= x;
               end;
    tri_max := n;
    end;

    begin
    saisie(n);
    min:= tri_min(n);
    max:= tri_max(n);
    writeln ('d''apres ',n,' on obtient le minimum ',min,' et le maximum ',max);
    writeln ;
    writeln ('pour plus d''information visitez http://programmation.megabb.com');
    end.
     
جاري تحميل الصفحة...
حالة الموضوع:
مغلق

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

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