задaчка на dеlphi (массивы)

Discussion in 'Болталка' started by AnGeI, 5 Dec 2010.

  1. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    есть обыкновенный массив А (одномерный, real) в нем любые элементы (могут повторятся).
    надо сделать массив B, который состоит из элементов массива A, так чтобы элементы не повторялись. И в такой последовательности b[1]>b[2]>.......>b[n].
    Т.е.: первый элемент больше всех остальных, второй больше всех остальных (кроме первого) и т.д.

    С меня респект и уважуха! :)
     
    #1 AnGeI, 5 Dec 2010
    Last edited: 5 Dec 2010
  2. Godfather Bulan

    Godfather Bulan Elder - Старейшина

    Joined:
    18 Mar 2008
    Messages:
    172
    Likes Received:
    443
    Reputations:
    25
    Могу на паскале накатать. языки похожие вроде...
     
  3. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    одно и то же. напиши пожалуйста, я не могу уже смотреть на эту задачу без эмоций :)
     
  4. Godfather Bulan

    Godfather Bulan Elder - Старейшина

    Joined:
    18 Mar 2008
    Messages:
    172
    Likes Received:
    443
    Reputations:
    25
    Сорри. что-то забыл.... Держи, вроде работает.. но код, конечно не фонтан
    HTML:
    var
    a,b: array[1..100] of real;
    x:real;
    i,k,n,z:byte;
    begin
    n:=8; // Задаем размерность массива
    // Заполняем массив
    for i:= 1 to n do
      begin
       write('x(',i,')= '); readln(a[i]);
      end;
    // Сортируруем по убыванию (уменьшению)
    for i:=1 to n-1 do
    for k:=1 to n-i do
          begin
            if a[k]<a[k+1] then
              begin
                x:=a[k];
                a[k]:=a[k+1];
                a[k+1]:=x;
            end;
      end;
    // Удаляем одинаковые элементы
    for z:= 1 to n do
    for i:= 1 to n do
    begin
      if (a[i]=a[i+1]) then
      begin
        for k:=i to n do
        a[k]:=a[k+1]
      end;
    b[i]:=a[i]
    end;
    // Выводим массив
    for i:=1 to n do
    writeln(b[i]);
    // Пауза
    readln(i);
    end.
     
    #4 Godfather Bulan, 5 Dec 2010
    Last edited: 5 Dec 2010