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] Subsir crescator/descrescator
Last Updated: Feb 14 2016 12:39, Started by
aLexCM
, Feb 13 2016 22:54
·
0
#1
Posted 13 February 2016 - 22:54
Am problema de aici.
[ http://editor.365plus.ro/poze/poza-1b70aa03d58e5be823acf6d1a262320af5669b97.jpg - Pentru incarcare in pagina (embed) Click aici ] Si codul:
Spoiler
Problema e ca, codul verifica numai un subsir in functie de primul numar citit. Daca este par, verifica subsirul de elemente pare iar cel de numere impare ramane neverificat. Si viceversa. Stiu ca buba (printre altele) e la primul if. M-am gandit sa salvez elementele pare intr-un vector si pe cele impare in alt vector. Apoi sa-l parcurg pe fiecare si sa vad daca-i monoton sau nu. Dar cica sunt cel mult un milion de numere in fisier si n-as aloca atata memorie. Edited by aLexCM, 13 February 2016 - 22:57. |
#2
Posted 13 February 2016 - 23:51
Quote M-am gandit sa salvez elementele pare intr-un vector si pe cele impare in alt vector. Apoi sa-l parcurg pe fiecare si sa vad daca-i monoton sau nu. Dar cica sunt cel mult un milion de numere in fisier si n-as aloca atata memorie. Trebuie doar să le compari două câte două. N-ai nevoie de vectori. Eu aş lua 4 variabile int par_anterior, impar_anterior, par_actual, impar_actual; unde verifici dacă elementul par actual este mai pare decât elementul par citit anterior, sau mai mic faţă de cel impar citit anterior, în caz contrar. Enunţul zice că sunt numere naturale . par_anterior şi impar_anterior le poţi inizializa cu -1 (de exemplu), ca să ştii dacă elementul citit este primul par sau impar. Edited by sftpdt, 13 February 2016 - 23:53. |
#3
Posted 13 February 2016 - 23:51
Tu faci mereu comparatia cu primul numar din sir citit ( adica x) ?
|
#4
Posted 14 February 2016 - 01:30
L-am rezolvat. Mersi mult sftpdt!
Codul complet:
Spoiler
Edited by aLexCM, 14 February 2016 - 01:34. |
#5
Posted 14 February 2016 - 03:27
Ce complexitate are algoritmul? O(1)?
Edited by aLexCM, 14 February 2016 - 03:28. |
#7
Posted 14 February 2016 - 09:51
#8
Posted 14 February 2016 - 10:19
Am de făcut 4 observații:
1. Dacă un număr nu este par atunci este în mod obligatoriu impar. 2. Dacă inițializezi par_anterior și impar_anterior cu valori corespunzătoare nu mai e nevoie să verifici dacă valoarea anterioară e pară sau impară atunci când verifici dacă e crescător sau descrescător. 3. Dacă tot ai o variabilă ok, poți să te folosești de ea ca să ieși din while atunci când ai detectat că nu sunt respectate condițiile. 4. Pentru fiecare număr din fișier faci un număr constant de operații deci este O(N). |
#9
Posted 14 February 2016 - 10:40
Spoiler
Lui par_anterior i-am dat valoarea maxima ca sa nu intre in primul if la prima verificare. Daca era negativ, x era evident mai mare decat el si ok devenea 0. Asa i-am dat LONG_MAX si trece de prima verificare. Edited by aLexCM, 14 February 2016 - 10:53. |
#10
Posted 14 February 2016 - 10:59
Eu verificam la început dacă par_anterior=-1, caz în care îi atribuiam numărul citit; altfel făceam comparaţiile necesare. La fel şi dacă numărul era impar.
|
|
#11
Posted 14 February 2016 - 12:39
in loc de atatea if si else invata sa folosesti switch
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users