👤

Se citesc de la tastatura un numar natural n si doua valori reale x si y. Sa se genereze recursiv intr-un vector primii n termeni ai sirului. Sa se afiseze cati termeni ai sirului sunt mai mari decat x si mai mici decat y si care sunt acesti termeni.

Răspuns :

#include <iostream>
using namespace std;
int v[100];
void generate_str(int v[100],int n,double x,double y,int nr){

if(x<=n&&n<=y){
cout<<n<<" ";
nr++;
}
if(n==1){
v[0]=1;
cout<<endl<<nr;
return;
}
else{
v[n-1]=n;
generate_str(v,n-1,x,y,nr);
}

}

int main(){
int i,n,nr=0;
double x,y;
cout<<"Introduceti numarul natural: ";
cin>>n;
cout<<"Introduceti numerele reale(primul mai mic decat al doilea): ";
cin>>x>>y;
cout<<"Termenii sirului intre "<<x<<" si "<<y<<" sunt ";
generate_str(v,n,x,y,nr);
cout<<" termeni sunt intre "<<x<<" si "<<y<<endl;
//Partea de jos poti sa o comentezi, e doar pentru a verifica faptul ca se formeaza vectorul corect
cout<<"Toti termenii sirului sunt: \n";
for(i=0;i<n;i++){
cout<<v[i]<<" ";
}

return 0;
}