== include(page="template/taskheader" task_id="invector") ==
_Notă: acesta este un exercițiu introductiv în recursivitate. Pentru a avea sens respectați cerința întocmai, rezolvîndu-l cu o funcție recursivă. Dacă scrieți corect funcția ea nu trebuie să conțină instrucțiuni de ciclare, gen [$for$], $while$ sau $do ... while$._
Să se răstoarne un vector folosind o funcție recursivă. Vectorul trebuie modificat, nu doar afișat invers. Funcția va arăta astfel:
$void inv( int primul, int ultimul, int v[] ) {$
$ ...$
$}$
unde $primul$ și $ultimul$ sînt indicii de început, respecitiv sfîrșit care definesc subvectorul de răsturnat. Funcția va fi apelată inițial astfel:
$inv( 0, n-1, v );$
Poveste și cerință...
h2. Date de intrare
Fișierul de intrare $invector.in$ va conține pe prima linie [$n$], numărul de elemente al vectorului. Pe a doua linie va conține $n$ întregi, separați prin spații, și anume cele $n$ elemente ale vectorului.
Fișierul de intrare $invector.in$ ...
h2. Date de ieșire
Fișierul de ieșire $invector.out$ va conține pe prima și singura linie cele $n$ ale vectorului răsturnat, separate prin spații.
În fișierul de ieșire $invector.out$ ...
h2. Restricții
* $1 ≤ n ≤ 100 000$
* Elementele vectorului sînt numere întregi între $0$ și $1 000 000 000$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example).
|_. invector.in |_. invector.out |
| 6
1 9 2 5 7 8
| 8 7 5 2 9 1
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
== include(page="template/taskfooter" task_id="invector") ==
h3. Explicație
...
== include(page="template/taskfooter" task_id="invector") ==