Informatică, întrebare adresată de sikesjack1, 8 ani în urmă

Buna! Atunci cand scriu for (int i=0; i>a[i]; practic fac indexarea vectorului de la 0?


boiustef: for (int i=0; i > a[i]; nu e închisă paranteza la for şi ce înseamnă i > a[i] ?
Dar indexarea se spune că o faci de la 0 atunci cand primul element al sirului numeric il pozitionezi pe pozitia 0, dar dacă elementele şirului le pui în vector de la poziţia 1, atunci indexarea se face de la 1
sikesjack1: am uitat sa scriu i++) :)) se mai intampla, am inteles, si cand fac indexarea de la 0, in toate celelalte for uri, gen cand inserez sau sterg elemente scriu doar, < si >, daca as fi inceput de la 1, atunci scriam <= si >=, nu?
boiustef: dacă începi indexarea de la 0 scrii for (i=0; i < n; ++i) cin >> a[i];
daca indexarea de la 1 scrii for (i=1; i <= n; ++i) cin >> a[i];
boiustef: Dar tr să înţelegi că când declari vector ce ar avea 50 de elemente scrii la declaraţii int v[50] şi în memoria calculatorului se rezervă spaţiu pentru 50 de elemente indexate de la 0 la 49

Răspunsuri la întrebare

Răspuns de andriesboss92
1

Exemplu:

1. Daca ai secventa

for(int i=0; i<10;i++)

a[i]=i;

Atunci indexarea vectorului se face de la 0, adica elementele vectorului a[i] vor incepe de la pozitia 0, 1, 2 ... pana la 9 !!!

!! Atentie

Am pus <10 nu <=10.

Vei avea 10 numere pe 10 pozitii diferite.

Pe pozitia a[0] vei avea valoare 0, a[1]=1, a[2]=2, a[3]=3, a[4]=4, ..., a[9]=9 si se opreste din cauza restrictiei.

Exemplu 2.

2. for(int i=1; i<10;i++)

a[i]=i;

Indexarea se face de la 1 pana la 9, si vei avea exact ceea ce am spus mai sus, cu exceptia ca se incepe de la a[1]=1, a[2]=2... a[9]=9

Daca puneai contitia i<=10, atunci aveai a[10]=10

Ti-am dat un model ca sa intelegi ce vroiam sa zic.


sikesjack1: super raspuns, mersi !v
Alte întrebări interesante