Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Routere detinute in trecut si in ...

Teii din fața casei

E-Mail in serie prin Excel si Out...

Modul alimentare rulou/jaluzea ex...
 Recuperare fișiere dupa form...

Aplicatii stress test RAM

Asigurare auto hibrid

Asus B550M - PC-ul nu porneste di...
 Tzanca Uraganu - Inconjurat de Fe...

explicatie montaj breadboard

3 Doors Down - Kryptonite

Semnalizati cand virati pe un dru...
 Succesiune - mostenire apartament...

Donez Siofor de 1000mg ( diabet t...

Izolatie intre parter si etaj

Hranirea pasarilor din orase -pro...
 

expresie indice

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

#1
CodexVinci

CodexVinci

    New Member

  • Grup: Junior Members
  • Posts: 15
  • Înscris: 27.05.2015
int f[10],n;

cin>>n;

while(n)
{

f[n%10]++;
n=n/10;
}

In partea asta de cod ma intereseaza in special instructiunea "f[n%10]++".

3 intrebari :
  • Practic,ce face aceasta instructiune?
  • De ce se foloseste o expresie ca indice si cum se incrementeaza?
  • Care este echivalentul instructiunii?
Daca se introduce n=324 ,atunci : f[4] = f[4]+1  ?

Tin sa precizez ca am mai gasit ceva asemanator ,un vector care are indice o expresie ,am cautat si tot nu am gasit ce inseamna sau face .


Multumesc anticipat .

#2
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,383
  • Înscris: 10.08.2005
Practic creste o valoare

De design

array[indice] += 1

#3
EnachescuAlin

EnachescuAlin

    Active Member

  • Grup: Members
  • Posts: 1,008
  • Înscris: 08.07.2013
La prima intrebare ti-ai raspuns singur. Si de ce sa nu folosesti o expresie ca indice? Daca vreau pot sa folosesc si rezultatul unei functii ca indice.
Si uite care ar putea fi echivalentul:
while (n)
{
	int indice = n % 10;
	f[indice]++;
	n = n / 10;
}



#4
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
Instructiunea creste cu o unitate elementele vectorului ce au indicele egal cu cifrele numarului n .



Ce e asa de nemaivazut la acel indice?Poti sa intelenesti si vector[n++]  sau vector[min(a,b) ] unde min este o functie din algorithm. Sunt curios cum o sa reactionezi cand o sa vezi  while(f>>a[i]) , f fiind din contextul ifstream f( "fisier.txt")

Edited by VladBtz, 02 July 2015 - 23:12.


#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Se folosește o expresie deoarece nu știi la ce adresă de memorie relativă la f vrei să incrementezi valoarea, adresa aia o afli abia când rulează programul și primește input dinamic.

Se incrementează așa cum se incrementează orice: se încarcă o valoare din RAM într-un registru al CPU-ului, se execută o instrucțiune de incrementare asupra registrului, operație care e implementată în electronica din CPU, apoi se salvează valoarea din registru înapoi în RAM la adresa f + n % 10.

Adresa lui f a generat-o compilatorul la compilare, ea e codată în fișierul .exe și a fost virtualizată de sistemul de operare atunci când ai dat dublu click pe fișierul exe.

Întreabă ce nu înțelegi, ca să nu-ți explic ca prostul lucruri pe care poate le știi deja.

Anunturi

Chirurgia endoscopică a hipofizei 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

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