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

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.


blindseeker90: Ce inseamna primii n termeni ai sirului? Te referi la toate numerele de la 1 la n, sau sunt citite recursiv de la tastatura?
ArsulMilovan: Da, de la 1 la n.
blindseeker90: vrei programul in C sau Pascal?
ArsulMilovan: C++ . Mersi mult de ajutor

Răspunsuri la întrebare

Răspuns de blindseeker90
2
#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;
}

ArsulMilovan: generate_str(..) ce face ?
blindseeker90: generate_str este functia care genereaza in mod recursiv elementele vectorului v
blindseeker90: tot in acea functie sunt si aratate numerele intre x si y si se numara cate elemente sunt intre x si y
ArsulMilovan: Chiar este necesar double ? nu cred ca va depasi +2 mil
blindseeker90: este necesar double pentru ca x si y sunt numere reale si atunci poti pune foarte multe valori dupa virgula. Daca nu ai nevoie de precizie foarte mare, atunci poti folosi float
ArsulMilovan: Nu imi apare inca coroana, dar sa fi sigur ca ti-o dau. :)
Alte întrebări interesante