# PBinfo #1511 – FCautareRec – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţa
Scrieţi definiția completă a unei funcții C++ recursive care are ca parametri un număr natural n, un șir crescător X de numere reale având n elemente și un număr real v și care returnează poziția pe care apare în șir valoarea v. În cazul în care v nu apare în șir, se va returna valoarea -1. În cazul în care v apare în șir pe mai multe poziții, se va returna una dintre acestea.

Restricţii şi precizări

0 < n <= 100
v și elementele lui X sunt numere reale – se va folosi tipul double
numele subprogramului cerut este cautare
parametrii sunt, în această ordine: n, X, v
elementele tabloului X sunt indexate de la zero
se recomandă realizarea unei soluții recursive

Exemplu:
Dacă n=6, X=(9.5,16.3,28.3,49.7,52.4,73), iar v=52.4, funcția va returna valoarea 4.

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
int cautare(int n, double X[], double v)
{
    if(n == 0)
        return -1;
    else
        if(X[n-1] == v)
            return n - 1;
        else
            return cautare(n-1, X, v);
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1511)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1511/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1511/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
