Salta, salta P77227


Statement
 

pdf   zip   main.cc

html

Sigui v un vector de nombres enters. Començant en una posició p qualsevol de v, salteu pel vector segons indica el valor de v[p]: si és positiu, cal saltar d’un sol cop v[p] passos cap a la dreta; si és negatiu, cal saltar d’un sol cop −v[p] passos cap a l’esquerra. El procés es repeteix per sempre, a no ser que se surti del vector, ja sigui per la banda dreta o per la banda esquerra.

Feu una funció

string sortida(int p, vector<int>& v);

que retorni “esquerra”, “dreta” o “mai” segons se surti per l’esquerra, per la dreta o no se surti mai.

Precondició

0 ≤ p < v.size()

Observació

El valor que tingui v al final no és important. A més, fixeu-vos que no s’ha declarat constant. Aprofiteu-vos d’aquest fet per escriure una funció com més eficient millor.

Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.

Information
Author
Salvador Roura
Language
Catalan
Other languages
English
Official solutions
C++
User solutions
C++