Suposem que un vector representa dos segments
adjacents
. Cal dissenyar un programa
que intercanvii la posició dels segments sense utilitzar
un altre vector. És a dir, el resultat final ha de ser
.
El programa llegirà dos paràmetres: el vector x i l'index m d'inici del segon segment.
Per a resoldre aquest problema es suggereix primer resoldre el següent:
dissenyar una acció que rebi un vector com
a paràmetre i dos indexos j i k tals que
.
L'acció ha d'invertir la posició dels elements
del vector.
El resultat final ha de ser
Utilitzar l'acció anterior per intercanviar els segments
(cal pensar una mica).
Exemple d'utilització del programa:
>java Intercanvi Entra el vector: 8 -3 0 5 7 1 2 5 6 7; Index d'on comenca el segon segment: 3 Vector final: 5 7 1 2 5 6 7 8 -3 0