Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
[TEMA] Functia Ackermann
Last Updated: May 24 2015 13:19, Started by
GlontzZz
, May 23 2015 12:16
·
0
#1
Posted 23 May 2015 - 12:16
Ziua buna! M-am apucat sa aprofundez recursivitatea si am dat de Functia Ackermann. Am inteles ca nu e un exemplu foarte bun pentru exemplificarea recursivitatii datorita timpului de lucru si memoriei necesare, dar am vrut sa vad ce si cum, sa imi dau seama mai bine la ce se refera, asa ca am implementat-o.
#include <iostream> using namespace std; unsigned m, n; unsigned long ackermann(unsigned x, unsigned y){ if (m == 0) return y+1; else if (n == 0) return ackermann(x-1, 1); else return ackermann(x-1, ackermann(x, y-1)); } int main(){ cout << "m="; cin >> m; cout << "n="; cin >> n; cout << "Ackermann(" << m << "," << n << ")=" << ackermann(m, n); return 0; } Acum, faza e ca daca dau orice valori astfel incat n!=0 si m!=0, primesc "stopped working" imediat dupa introducerea celei de-a doua valori. IDE folosit: Code::Blocks 13.12 Compilator: MinGW Ce fac gresit? Precizez ca si la valori gen 1, 1, programul se opreste. L.E.: In cazul in care mai era un topic asemanator, imi cer scuze, cand caut in Search stau peste 10 minute sa mi se incarce pagina. Edited by GlontzZz, 23 May 2015 - 12:17. |
#2
Posted 23 May 2015 - 12:25
GlontzZz, on 23 mai 2015 - 12:16, said:
Ce fac gresit? Daca ai face asta, tehnica ti-ar spune ce si unde faci gresit. Invata sa folosesti tehnica in avantajul tau, ca d-aia e tehnica. Ia sa vedem: [ https://i.imgur.com/AI4G6e4.png - Pentru incarcare in pagina (embed) Click aici ] interesanta valoare are y. Fiind o functie recursiva, suspectam ca e ceva in neregula cu conditia de intoarcere din adancurile recursivitatii. Ia sa vedem si backtrace-ul (comanda bt), ca sa ne confirmam ipoteza: [ https://i.imgur.com/6AyqMDT.png - Pentru incarcare in pagina (embed) Click aici ] Ipoteza confirmata. |
#4
Posted 23 May 2015 - 12:30
@dani.user, nu mi-am dat seama de asta... Mda, n-am vazut ca am pus variabilele invers... Totusi, cand introduc valori mai mari de (4, 4) se intampla acelasi lucru ca inainte, "stopped working"...
@OriginalCopy, unde pot gasi mai multe informatii despre debugging...? Nu m-am folosit de asta pana acum. Edited by GlontzZz, 23 May 2015 - 12:37. |
#5
Posted 23 May 2015 - 12:42
Ce e ala akerman ? Ce ar trebui sa arate practic aceasta functie ? Patratele dintre doua numere sau ce ar trebui sa arate, care e utilizarea ei ?
|
#6
Posted 23 May 2015 - 12:53
GlontzZz, on 23 mai 2015 - 12:30, said:
Totusi, cand introduc valori mai mari de (4, 4) se intampla acelasi lucru ca inainte, "stopped working"... KHISHCHNIK, on 23 mai 2015 - 12:42, said:
Ce ar trebui sa arate practic aceasta functie ? |
#7
Posted 24 May 2015 - 13:19
OriginalCopy, on 23 mai 2015 - 12:53, said:
E normal: http://rosettacode.o...mann_function#C Cat de primitive sunt calculatoarele din ziua de azi. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users