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
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;
}
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.
Alte întrebări interesante
Matematică,
8 ani în urmă
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă