Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Adaptor usb3.1gigabit vs Adaptor ...

La multi ani @Atreides!

La multi ani @KENSINGTON!

La multi ani @burebista!
 La multi ani de Florii!

Stihl fs 70 c-e

Challengers (2024)

Care mai sunt mediile de admitere...
 Laptop cu HDD atasare memorie MMC...

Hartile google nu mai au chenarul...

Tomate in ghiveci la curte?

Idei cale de actiune recuperare g...
 Intoleranța lactoza- vegan v...

Tobe acustice insonorizare in blo...

Cine canta? Fragment din melodie...

Tablou sigurante Dacia Sandero 2012
 

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,445
  • Î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 spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

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