Probleme recursivitate si structuri de date
Last Updated: Jan 26 2019 05:31, Started by
bionescu99
, Jan 21 2019 16:41
·
0
#1
Posted 21 January 2019 - 16:41
Buna ziua, am 2 probleme de rezolvat. Una pe baza de recursivitate si alta pentru structuri de date pentru facultate si nu reusesc. Daca m-ati putea ajuta sau daca mi-ati putea oferi sfaturi pentru rezolvarea acestora as fi recunoscator.
RECURSIVITATE: 1. Scrieti un algoritm recursiv care afiseaza un cuvant dat in ordine inversa. 2. Scrieti o functie recursiva pentru calculul lui n!. 3. Calculati recursiv cmmdc(a,b). 4. Determinati al n-lea termen din sirul lui Fibinacci. 5. Calculul functiei recursive Aackerman definita prin relatiile: Ack(m,n)= n+1 , daca m=0 Ack(m-1,1) ,daca m>0 si n=0 Ack(m-1, ack(m,n-1)) daca n>0, m>0 STRUCTURI DE DATE: 1. Se da structura Data calendaristica. Functie care compara doua date calendaristice. 2. Se dau numele, nota, nrdiscipline cu media 10. Daca se dau n studenti, sa se determine primii k studenti in ordine descrescatoare dupa note, in caza de egalitate, descrescatoare dupa numarul notelor de 10. 3. Scrieti intr-un fisier toate articolele introduse de la tastatura, cu structura den, pret, cant, unit_mas, prettotal=pret*cant , TVA=prettotal*1.19. |
#2
Posted 21 January 2019 - 16:56
Dacă vrei ajutor pas cu pas, ar fi bine întâi să detaliezi ce ai încercat tu până acum.
Dacă în schimb vrei direct soluțiile, sunt rezolvări pe internet cel puțin pentru problemele cu recursivitatea (în engleză, limbă de bază în IT). Am găsit în câteva limbaje plus pseudocod. Ca programator, câteodată e bine să știi și cum/unde să cauți. Spor! |
#3
Posted 21 January 2019 - 17:14
pexCom, on 21 ianuarie 2019 - 16:56, said:
Dacă vrei ajutor pas cu pas, ar fi bine întâi să detaliezi ce ai încercat tu până acum. Dacă în schimb vrei direct soluțiile, sunt rezolvări pe internet cel puțin pentru problemele cu recursivitatea (în engleză, limbă de bază în IT). Am găsit în câteva limbaje plus pseudocod. Ca programator, câteodată e bine să știi și cum/unde să cauți. Spor! Sincer este pentru facultate de recuperat 2 laboratoare cand am fost plecat la munca si nu am prea prins. Am facut cat de cat probleme rezolvate la clasa am sa las o arhiva sa vedeti ca mi-am dat interesul dar pentru acele 2 probleme nu mai am idee am cautat si pe internet si nu am prea gasit ceva ok si timpul este foarte scurt nu as avea o alta varianta pentru a rezolva si a invata deoarece trebuie sa le prezint ceea ce nu stiam pana acuma, credeam ca sunt doar probleme de la clasa.. Sper sa ma puteti ajuta am sa las o arhiva cu laboratoarele si problemele la clasa care le-am rezolvat. https://www.mediafir...amarii.rar/file |
#4
Posted 21 January 2019 - 22:27
Se ofera sfaturi daca ne spui ce nu intelegi.
faptul ca ai problemele rezolvate nu te ajuta, poti sa scrii cod si aici, eu unul nu descarc fisiere straine. daca nu aici orice solutie repositoryi este incurajata Edited by MarianG, 21 January 2019 - 22:28. |
#5
Posted 22 January 2019 - 15:52
MarianG, on 21 ianuarie 2019 - 22:27, said:
Se ofera sfaturi daca ne spui ce nu intelegi. faptul ca ai problemele rezolvate nu te ajuta, poti sa scrii cod si aici, eu unul nu descarc fisiere straine. daca nu aici orice solutie repositoryi este incurajata Am facut cea cu notele dar imi ruleaza ok pana la un moment dat si imi foace doar media notelor.. #include <iostream> using namespace std; struct elev { string nume,materia; float nota; }; int main() { int i,m=0,y; elev s[5],aux; //Elev este un nou tip de variabila; gen INT. for(i=0;i<5;i++) { cout<<"Numele este ";cin>>s[i].nume; cout<<"Materia este ";cin>>s[i].materia; cout<<"Nota este ";cin>>s[i].nota; m=m+s[i].nota; } cout<<"Media notelor este "<<m/5<<endl; m=s[0].nota; for(i=0;i<5;i++) { if(s[i].nota>m) m=s[i].nota,y=i; } cout<<"Elevul "<<s[y].nume<<" a luat nota maxima "<<m<<" la materia "<<s[y].materia<<endl; for(i=0;i<4;i++) { for (int j=i+1;j<5;j++) { if(s[i].nota>s[j].nota) { aux=s[i]; s[i]=s[j]; s[j]=aux; } } } for(i=0;i<5;i++) cout<<s[i].nota<<" "<<s[i].nume<<" "<<s[i].materia<<" "<<endl; return 0; } 5. Calculul functiei recursive Aackerman definita prin relatiile: Ack(m,n)= n+1 , daca m=0 Ack(m-1,1) ,daca m>0 si n=0 Ack(m-1, ack(m,n-1)) daca n>0, m>0 Aceasta am tot incercat sa caut si pe internet sa o rezolv dar chiar nu am reusit.. Va multumesc mult! |
#7
Posted 22 January 2019 - 19:25
#8
Posted 22 January 2019 - 20:21
Nu inteleg de ce zici ca ai 5 elevi, daca cerinta zice ca se dau n elevi.
|
#9
Posted 23 January 2019 - 15:50
bionescu99, on 22 ianuarie 2019 - 15:52, said:
5. Calculul functiei recursive Aackerman definita prin relatiile: Ack(m,n)= n+1 , daca m=0 Ack(m-1,1) ,daca m>0 si n=0 Ack(m-1, ack(m,n-1)) daca n>0, m>0 Aceasta am tot incercat sa caut si pe internet sa o rezolv dar chiar nu am reusit.. Va multumesc mult! Adică funcția în C++ ar putea arăta așa: int ack(int m, int n) { if (m == 0) { return n + 1; } else if (m > 0 && n == 0) { return ack(m - 1, 1) } else { return ack(m - 1, ack(m, n - 1)); } } |
#10
Posted 26 January 2019 - 00:21
pexCom, on 23 ianuarie 2019 - 15:50, said:
Partea bună la funcțiile recursive este că, atât timp cât ți se dă formula de calcul, implementarea recursivă nu face altceva decât să urmeze pas cu pas formula. Edited by crs12decoder, 26 January 2019 - 00:22. |
|
#11
Posted 26 January 2019 - 05:31
inseamna ca ai capatat gresit aceasta intuitie, sau nu exista o alta intuitie
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users