.
Отговор в тема
Резултати от 1 до 2 от общо 2
  1. #1

    !!! Информатика 10 клас !!! Помощ за една задача!

    Даден е масив с n-елементи реални числа. Нека n<=30 . Да се напише програма, която разменя елементите на масива, тоест инвертира първия елемент става последен и първия – последен.

    a1, a2 … ak … aj … an

    ak:= aj;
    aj:= ak;
    buf:=a[k];
    a[k]:=a[j];
    a[j]:=buf;
    mid:=n div 2
    a[i]<—>a[n-i+1]
    i+j=n+1-i

    Ужасно ще съм благодарна, ако някой обърне внимание на тази трудна задача за мен и ми напише решението

    P.S. Трябва ми за утре!

  2. #2
    Мега фен Аватара на Chacho
    Регистриран на
    Nov 2006
    Мнения
    15 573
    Ще пиша на паскал.

    n - броят на елементите
    masiv - предварително дефиниран тип масив


    procedure InvertArray(var a:masiv);
    var
    buf, i, j: integer

    j:=n;

    for i := 1 to n div 2 do
    begin
    buf:=a[i];
    a[i]:=a[j];
    a[j]:=buf;
    j:=j-1;
    end;
    end;



    Обяснение: Имаме два брояча на цикъла. Единият обхожда от началото до средата (i), а другият от края до средата (j). На всяка стъпка се разменят първия и последния елемент по познатата процедура за размяна на стойностите на две променливи (чрез въвеждането на буферна променлива). Цикълът свършва когато се разменят и средните елементи. ЛС, ако има неясни неща.
    Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.

Правила за публикуване

  • Вие не можете да публикувате теми
  • Вие не можете да отговаряте в теми
  • Вие не можете да прикачвате файлове
  • Вие не можете да редактирате мненията си