Informatică, întrebare adresată de danielbodiu10, 9 ani în urmă

Să se scrie două variante de implementare pentru o funcție 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 natural 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.
c1. Soluție iterativă.
c2. Soluție recursivă.

Ma intereseaza doar solutia recursiva,nu reusesc sa o rezolv din cauza parametrilor,nu pot folosii stanga,dreapta,pentru a stii in ce parte a vectorului sa ma deplasez,Multumesc!

NU SE FOLOSESC VARIABILE GLOBALE!!!

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
0
#include<iostream>
using namespace std;

int rec(int n, int x[], int v)
{
    if(n == 0)
        return -1;
    else if(x[n] != v)
        rec(n-1, x, v);
    else
        return n;
}

int main()
{
    int n, x[10], numar;

    cin >> n;
    for(int i=1; i<=n; i++) cin >> x[i];
    cin >> numar;

    cout << rec(n, x, numar);
    return 0;
}


danielbodiu10: Asta ii o cautare secventiala simpla,la ce imi mai foloseste faptul ca sirul este sortat?,asta o stiam si eu.
AntiEaglesDavids: pai si atunci de ce mai pui intrebarea daca stii cum se face?
Alte întrebări interesante