infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Euuuuu din Decembrie 06, 2016, 14:46:29



Titlul: For loop
Scris de: Euuuuu din Decembrie 06, 2016, 14:46:29
Salutare. Am o intrebare privind modul dubios in care se parcurge for loop. In acest program:
for(int i=1;i<=5;i++)
cout<<i<<"\n";

afiseaza exact asa cum e normal:
1
2
3
4
5

In schimb daca mai adaug o instructiune like:
for(int i=1;i<=10;i++)
{i=i*10;
cout<<i;}

îmi afiseaza doar : 10
De ce se intampla asta? Va multumesc anticipat!


Titlul: Răspuns: For loop
Scris de: Mihai Calancea din Decembrie 06, 2016, 21:11:57
Păi ce ai adăugat nu este o instrucțiune aleatoare, independentă de for. Îl modifică pe i, este normal să afecteze for-ul. 10 e outputul așteptat pentru codul tău.

Cod:
for(int i = 1; i <= 10; ++i) {
   // instructiune
}

este echivalent cu

Cod:
int i = 1;
while(i <= 10) {
  // instructiune
  ++i;
}


Titlul: Răspuns: For loop
Scris de: Euuuuu din Decembrie 07, 2016, 20:43:28
Omgg acum am inteles. Doamne, cred ca mi-am lasat capul acasa cand am intrebat asta :)) . Mersi mult!


Titlul: Răspuns: For loop
Scris de: Mihai Calancea din Decembrie 08, 2016, 19:39:19
Haha  :). E în regulă, cred că avem cu toții o poveste de genul ăsta.