• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

pseudokod tablica przesuniecie prawo element

Aruba Cloud - Virtual Private Server VPS
0 głosów
1,120 wizyt
pytanie zadane 22 stycznia 2018 w Algorytmy przez supergosc44 Początkujący (270 p.)

hej

proszę o sprawdzenie kodu.

zadanie brzmi: Napisz algorytm, której parametrem jest n – liczba naturalna oraz tab – tablica jednowymiarowa.

dokonuje przesunięcia zawartości tej tablicy cyklicznie o jedną pozycję (pierwszy element na miejsce drugiego ... ostatni na miejsce pierwszego).

 

BEGIN
   READ( n, tab[n] )
     z:=0
      for(  i=0;  i<n;  i++ )
        {
           z := tab[ i ]
           tab[ i ] := tab[ i+1 ]
            tab[ i+1 ] := z
        }
     RETURN tab[ n ]
  END

 

1 odpowiedź

0 głosów
odpowiedź 16 kwietnia 2018 przez Ajver Bywalec (2,430 p.)
Twoje rozwiązanie nie przenosi ostatniego elementu tab na pierwsze (zerowe) miejsce tabeli.

Wykonuje się za to n-razy, przez co dla i=n-1 (podczas ostatniego powtórzenia pętli) w linii:

tab[ i+1 ] := z

Sięga do n-tej komórki pamięci, która już nie jest Twoja.

Proponuję, by pętla for powtarzała się, dopóki

i < n-1

A po zakończeniu pętli skopiować do pierwszej komórki tablicy ostatni (czyli o numerze n-1):

tab [ 0 ] := tab [ n-1 ]

Przy okazji, nie musisz w kodzie przypisywać na początku zmiennej z wartości zero.

 

Ostatecznie Proponuję taki kod:

BEGIN

   READ( n, tab[n] )

     z:=0

      for(  i=0;  i<n-1;  i++ )

        {

           z := tab[ i ]

           tab[ i ] := tab[ i+1 ]

            tab[ i+1 ] := z

        }

     tab [ 0 ] := tab [ n-1 ]

     RETURN tab[ n ]

  END

Podobne pytania

0 głosów
0 odpowiedzi 108 wizyt
pytanie zadane 5 czerwca 2024 w Algorytmy przez Spinaker Nowicjusz (120 p.)
0 głosów
1 odpowiedź 234 wizyt
pytanie zadane 14 marca 2024 w Algorytmy przez Doge Gaduła (3,420 p.)
0 głosów
1 odpowiedź 628 wizyt
pytanie zadane 14 października 2021 w Algorytmy przez ramazin Nowicjusz (120 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...