Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Telefonul Oppo a74 mi-a blocat ca...

A inviat Mudava

Vouchere de vacanta

Cand One United nu mai vand isi v...
 Mandolina feliat legume

Atestat consilier de siguranta

alarma auto Autowatch 346 RLI

Ce se intampla cu actualii tineri...
 Descifrare reteta

Zapp fix

Rulment pt diferential 4motion

Lipire filtru la baterie ikea
 Meserias nu mai vine sa termine l...

Soferii prinsi bauti sau drogati ...

geometrie autorulota

Sfat achiziție laptop ~4500 ...
 

Pointerii

- - - - -
  • Please log in to reply
86 replies to this topic

#55
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Numărul de elemente cărora li se face suma?

#56
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,493
  • Înscris: 10.08.2005
da, cum numim aceasta variabila ?
si ce valori poate lua

#57
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Sa ii spunem: numarElemente?

Deși am tratat problema numai cu numere întregi, poate lua orice valoare, nu neaparat număr întreg.

Mâine dimineața, cel târziu ora 11, voi pune totul cap la cap și voi veni cu răspunsuri la următoarele întrebări, iar in final cu cod.

Sper sa nu te superi, dar as face bine sa mă culc, căci mâine mă trezesc devreme. Am destul de multă treaba pentru liceu. :) sper ca mă vei înțelege.

#58
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,493
  • Înscris: 10.08.2005

View PostAnduIX, on 18 decembrie 2017 - 23:24, said:

Sa ii spunem: numarElemente?

Deși am tratat problema numai cu numere întregi, poate lua orice valoare, nu neaparat număr întreg.
sirul sau numarElemente ?

#59
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Deci vechiul sir trebuie sa devina un nou sir care are limita din stanga start si pe cea din dreapta stop?

#60
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,493
  • Înscris: 10.08.2005
descrie in cod cum arata aceste doua siruri,

#61
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,259
  • Înscris: 24.02.2007

View PostAnduIX, on 18 decembrie 2017 - 17:00, said:

void sumaSir(int sir[], int start, int stop)
{
...
}


Acum trimiti spre sumaSir ceva de genul: 12547800 (adresa sirului), 2 (start), 5 (stop).

Cum poti compacta asta incat sa fie suficienti 2 parametrii?

#62
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Va rog sa mă scuzați ca am întârziat cu răspunsul, însă am fost plecat, am avut numai telefonul cu mine...

M-am gândit la problema, însă nu văd rezolvarea. Într-un fel sau altul, ar trebui ca una din limitele șirului pe care îl am eu sa fie fie start, fie stop. Astfel, ar rămâne doi parametri. Însă, nu îmi dau seama cum as putea face asta.

Deci, către funcție trimit adresa sirului, start și stop, după cum ai spus tu, dani.

Am făcut un desen pe telefon, căci in momentul de fata am acces numai la acesta: (va rog sa scuzați calitatea :D ) https://i.imgur.com/Q7ehgHO.jpg

Din câte am înțeles, trebuie sa fac astfel încât șirul sa aibă adresa 28x3 in loc de 12x3d, nu? (conform desenului)

Crăciun fericit alături de cei dragi!

Edited by AnduIX, 24 December 2017 - 21:18.


#63
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,259
  • Înscris: 24.02.2007
Cum ai ales 12x3d, 29x3 si restul adreselor?

#64
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
La întâmplare, fiindcă m-am gândit ca adresele sunt complet diferite între ele și au denumiri mai “ciudate”.

De fapt, adresele sunt hexazecimale și încep cu 0x, nu?

Edited by AnduIX, 24 December 2017 - 21:36.


#65
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,259
  • Înscris: 24.02.2007
Adresele sunt numere. Ca scrii 123, 0x7B sau 0b1111011 tot aia inseamna.
Daca ar fi toate la intamplare, n-ai aveai cum sa le mai gasesti. Primul element din vector e "la intamplare", restul sunt imediat dupa, consecutiv.

Edited by dani.user, 24 December 2017 - 21:48.


#66
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Da, știu ca numai primul element este situat undeva, "la întâmplare", apoi celelalte elemente din sir sunt in continuare, consecutive.

M-am referit strict la numele adresei, ca am ales denumiri aleatorii. :)

Mulțumesc de explicație!

Edited by AnduIX, 24 December 2017 - 22:02.


#67
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
Când declari int v[10], în memorie se alocă spațiu consecutiv pentru 10 elemente de tip int. Adică în memorie v[1] se află imediat după v[0] și imediat înainte de v[2], v[2] se află imediat după v[1] și înainte de v[3], etc. Adică adresele lor sunt consecutive. Dacă adresa lui v[1] este X, atunci adresa lui v[0] este X - dimensiune int, iar adresa lui v[2] este X + dimensiune int. Prin dimensiune int se înțelege câți octeți/bytes ocupă în memorie un singur element de tipul int.

Când lucrezi cu un pointer către un tip de date, te poți folosi de pointer arithmetic, dacă ai un pointer p de tip de date Y a cărui valoare este adresa X, atunci valoarea expresiei (p+ număr întreg) este tot un pointer către Y, cu adresa X + dimensiune Y * nr respectiv, practic noul pointer s-a "mutat" pe al "nr întreg" element de tip Y la dreapta sau la stânga de la adresa pointer-ului p, la dreapta dacă nr întreg > 0, la stânga dacă este < 0.

Dacă p este un pointer către int a cărui valoare este &v[1] atunci valoarea expresiei (p-1) este un pointer către int a cărui valoare este &v[0], iar valoarea expresiei (p+1) este un pointer către int a cărui valoare este &v[2].

#68
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Am inteles acum...

Asadar, eu nu voi pune sir[start-1], ci *(p+start-1)?

#69
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
De ce ai adăugat -1?

#70
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Pentru ca, daca start este 3, ma gandesc la elementul 3, nu la elementul cu index 3. Daca start este elementul al treilea, are index 2, deci start-1, nu?

#71
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
Nu mai bine setezi start pe poziția corectă de la început? Adică apelezi funcția cu valoarea corectă pentru start.

Edited by tavitu, 25 December 2017 - 11:40.


#72
AnduIX

AnduIX

    Junior Member

  • Grup: Members
  • Posts: 159
  • Înscris: 07.08.2016
Da, este mai simplu asa.

Intr-un fel sau altul, tot va trebui sa introduc start in interiorul functiei, deci sunt obligat sa introduc start ca parametru, nu?

Eventual, sa citesc start in interiorul functiei?

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate