Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Pointerii
Last Updated: Dec 26 2017 23:57, Started by
AnduIX
, Dec 13 2017 23:14
·
0
#19
Posted 15 December 2017 - 00:22
#20
Posted 15 December 2017 - 08:18
Da, ai dreptate.
In cazul meu, sunt maxim 29 cărți. Știu ca indexarea începe de la 0, însă școala m-a obisnuit sa o încep de la 1. Acum, fără sa vreau, încep de la 1 și nu de la 0. Voi încerca sa mă reglez. |
#21
Posted 15 December 2017 - 10:13
getmorefun, on 14 decembrie 2017 - 22:28, said:
Pentru vectorul ce stocheaza pointeri catre functii (exemplu ce functioneaza pe un microcontroller PIC): int (*Vector_p[91])();// declararea vectorului ce contine pointeri la functii void Assign_p()// "umplerea" vectorului { Vector_p[0]=Ac_45;//Ac_45 este numele unei functii Vector_p[1]=Ac_44; . . . } while(1) { //se citeste de la ADC si se calculeaza valoarea "Nr_ac" if(Nr_ac>Nr_ac_prec)//prec vine de la precedent { (*Vector_p[Nr_ac_prec+1])();//lansarea in executie a functiei asociate pointerului //aflat pe pozitia Nr_ac_prec+1 in vectorul de pointeri Vector_p Nr_ac_prec++; } else if(Nr_ac<Nr_ac_prec) { (*Vector_p[Nr_ac_prec-1])(); Nr_ac_prec--; } } N-am inteles multe, dar pare interesant. Multumesc! |
#22
Posted 15 December 2017 - 23:26
Folosind pointeri, fa o functie ce calculeaza suma unui vector. Creaza un vector de 10 elemente si cere-i functiei sa calculeze suma doar a ultimelor 5 elemente. Cum ai face asta fara pointeri?
|
#23
Posted 17 December 2017 - 19:42
Imi cer scuze pentru intarziere, insa in perioada asta sunt putin cam ocupat.
Voi incerca in seara asta sa scriu codul pentru a rezolva problema data de tine. dani.user, on 15 decembrie 2017 - 23:26, said:
Cum ai face asta fara pointeri? Se poate cere la inceput cate elemente va avea vectorul? Altfel, nu prea stiu cum pot umple vectorul, daca nu cunosc o lungime. Decat daca pun conditia ca introducerea a elementelor in vector sa se opreasca la introducerea lui 0. Sincer sa fiu, eu in continuare privesc pointerul ca ceva ce stocheaza adresa unei variabile. Nimic mai mult. Adica...un pointer la o functie practic stocheaza adresa functiei si functia se lanseaza in executie mentionand pur si simplu pointerul (+ parametri, daca este nevoie), nu? Daca nu inteleg bine teoria, nu pot trece la practica. |
#24
Posted 17 December 2017 - 19:57
Lasa pointerii la functii ca nu despre ei e vorba in cerinta mea.
Lasa si introducerea elementelor in vector de la tastatura, scrii direct in cod ce elemente sa aibe. Incearca sa rezolvi cerinta cu sau fara pointeri (la elementele vectorului). |
#25
Posted 17 December 2017 - 20:38
Undeva, am gresit. Imi afiseara orice altceva decat ce ar trebui sa afiseze.
Fie am facut o greseala colosala, fie am uitat sa pun ceva. Totusi, mie mi se pare in regula, desi nu este... #include <iostream> using namespace std; int v[10] = {3, 4, 43, 65, 534, 2, 7, 55, 29, 10}; int nr; void functie(int i) { int s; for (; i<=9; i++) s+=v[i]; cout << s; } int main() { cin >> nr; functie (nr); return 0; } |
#26
Posted 17 December 2017 - 20:41
1. s ce valoare ințială are?
2. Transmite v ca parametru la funcție. 3. Transmite valoarea 9 ca parametru la funcție. Și ar mai fi de discutat. Edited by tavitu, 17 December 2017 - 20:44. |
#27
Posted 17 December 2017 - 21:31
void functie(int i) trebuie sa devina void functie(int i, int v, 9) ? Nu prea inteleg cum as putea adauga 9 ca parametru la functie, fiindca eu chiar nu stiam ca este nevoie sa fac asta.
|
#28
Posted 17 December 2017 - 21:45
adaugi un argument la functie, cand o apelezi scrii 9
Edited by MarianG, 17 December 2017 - 21:46. |
|
#29
Posted 17 December 2017 - 21:49
1. v nu este int, este tablou/array de int-uri, int v, nu este complet, mai lipsește ceva.
2. Legat de 9, poți pur și simplu să folosești o variabilă int ca parametru iar în main când apelezi funcția "functie", o apelezi cu valoarea 9 pentru variabila respectivă. |
#30
Posted 17 December 2017 - 21:59
Bun, multumesc mult!
Am modificat codul si acum functioneaza corespunzator: #include <iostream> using namespace std; int v[10] = {3, 4, 43, 65, 534, 2, 7, 55, 29, 10}; int nr, c; void functie(int i, int v[], int c) { int s=0; for (; i<=9; i++) s+=v[i]; cout << s; } int main() { cin >> nr; c=9; functie (nr, v, c); return 0; } Cand apelez functia, "v" este suficient, deci este vazut drept vector. La declarare, si la zona parametrilor functiei este nevoie de parantezele patrate dedicate lungimii tabloului, asadar. |
#31
Posted 17 December 2017 - 22:01
Dacă c are valoarea 9, mai ai nevoie să păstrezi valoarea 9 în interiorul funcției?
Edited by tavitu, 17 December 2017 - 22:02. |
#32
Posted 17 December 2017 - 22:12
functia primeste un sir de numere, de marime n
se cere suma intre doua puncte, start, stop suma poate fi trimisa inapoi la apelant, sau prin parametru la adresa indicata vezi tu, sir, suma, start, stop nu i, j, v, c Edited by MarianG, 17 December 2017 - 22:12. |
#33
Posted 17 December 2017 - 22:15
Nu..Așa este.
Nu am fost atent. Data viitoare trebuie sa verific de mai multe ori codul înainte de a-l posta. Am fost puțin superficial. Scuze. MarianG, mulțumesc mult pentru problema! Îmi voi face o idee și mâine dimineața voi reveni pe forum cu o prima “versiune” de cod. |
|
#35
Posted 18 December 2017 - 09:06
Oh...Aseara nu stiu ce am avut...
De fapt, asta face codul scris de mine: calculeaza suma intre doua puncte. i (in main este nr) reprezinta start, c reprezinta stop, iar s reprezinta suma. Am inteles ce face codul pe care l-am scris, sa nu se inteleaga gresit. #include <iostream> using namespace std; int v[10] = {3, 4, 43, 65, 534, 2, 7, 55, 29, 10}; int nr, c; void functie(int i, int v[], int c) { int s=0; for (; i<=c; i++) s+=v[i]; cout << s; } int main() { cin >> nr >> c; functie (nr, v, c); return 0; } Edited by AnduIX, 18 December 2017 - 09:07. |
#36
Posted 18 December 2017 - 15:45
Si de ce nu ii spui start ?! Numele variabilelor trebuia descrie ce reprezinta,.
sumaSir( sir, start, stop )cand prezinti cuiva functia intelege de la bun inceput ce are de introdus la argumente / parametri |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users