Jump to content

Recommended Posts

Posted

Se dă următorul program:

#include <iostream.h>
main ()
{
    char car;
    for (car='z'; car>='a'; car--)
        cout<<car<<endl;
}

Afișează alfabetul în ordine inversă. De ce au pus variabila car, de ce au folosit car--) (ce reprezintă asta) și tipul de date char?

Posted

char e pentru variabile de tip caracter.

Acolo ai un for (pentru de la pseudocod) .Variabila car de duce de la 'z' la 'a'.De obicei se foloseste i sau j in for , dar nu e o regula.

Posted

Așa, și atunci aici de ce nu s-a folosit?

 

#include<iostream.h>
main()
{
int i, n, s=0;
cout<<"Scrie valoare pentru n ";
cin>>n;
for(i=1; i<=n;i++)s=s+i;
    cout<<"Suma primelor"<<n<<"numere naturale este "<<s<<".";
}
Posted

Ai i in loc de car pentru for. Citesti o variabila n.

Intri in for , i porneste de pe 1 (i=1) si merge pana la n (variabila citita) cu 'pasul' 1 (i++ e echivalent cu i=i+1).

Cum o sa fie la tine:

Sa zicem ca n=3.

Ai 3 pasi.

Pasul1:

i=1

s=s(care e 0) +i (care e 1)

Dupa acest pas, suma e 1.

Pasul 2:

i=2

s=s(care e 1)+i(care e 2)

Suma devine 3.

Pasul 3:

i=3

s=s(care e 3)+i (care e tot 3)

Suma devine 6.

 

O sa-ti afiseze suma primelor 3 numere este 6.

  • Upvote 1
Posted

nu e acelasi lucru. 

c++ va folosii valoare lui c, si apoi va incrementa pe cand ++c face invers (incrementeaza, apoi foloseste).

 

Daca tu scrii doar c++; at efectul este acelasi, dar daca ai

 

c=4;

si faci

cout<<c++;

va afisa 4, pe cand daca ai fi facut

cout<<++c;

ar fi afisat 5

love is a verb
Love is a doing word

Posted

pai probabil vei vrei sa ai o variabila de tip int ca sa tina in memorie numarul ce il vei afisa, nu?

 

Dupaia sti ca daca faci i++, valoare lui i creste cu 1. (deci, daca i=0 initial. si faci i++ de 15 ori, vei parcurge primele 15 numere naturale)

 

Sti si tu cum arata un FOR si sti si tu cum afisezi ( cu cout<<.. ).

 

Spor la scris cod.

love is a verb
Love is a doing word

Posted

Daca nu ai acel i++ la final atunci el nu creste , ramane pe valoarea data initial , 1.

 

Acolo ai scris a=15.Nu e corect trebuie sa pui i<=15. E o conditie.i creste cat timp e adevarata conditia. Daca i ajunge la 15 , el nu mai trece mai departe.

Posted

Nu merge cu >= acolo.Trebuie sa pui <= ca sa-ti mearga.

i incepe ca fiind 1. Dupa merge la i++ care ar fi 2 , dar verifica conditia (>=15) si atunci nu merge.

 

Poti sa folosesti >= dar atunci mergi invers. Un exemplu: for(i=20;i>=10;i--)

  • Upvote 1
Posted

Daca pui >= nu va intra in for deloc, pentru ca tu initializezi cu o valoare deja mai mica. 

 

Bucla FOR se repeta atata timp cat conditia din mijloc este adevarata.

  • Upvote 1

love is a verb
Love is a doing word

Posted

E o structura repetitiva, se repeta pana cand...

Poti folosi cat timp daca iti este mai usor...

 

#include <iostream.h>
int main ()
{ int n, i=0;   
cin>> n;     
while(n!=0) 
          {cout<<i<<" ";
          i++;
          n--;
          }
}

 

Sau cu do...while, same shit:

#include <iostream.h>int main ()
{ int n, i=0;   
cin>> n;     
do {
    cout<<i<<" ";
    i++;
    n--;
    }
    while(n);
}

 

 

Ti-a zis mai sus careva, i-- e echivalent cu i=i-1, i++ echivalent cu i=i+1. Le folosesti cand ai nevoie... . Cand vrei sa parcurgi ceva, un vector, o matrice, un fisier (impreuna cu o structura repetitiva)... sau pur si simplu vrei sa cresti/scazi un numar, cum e in algoritmul de mai sus... i pur si simplu creste cat timp n != 0.

 

Poti folosi orice variabila, nu neaparat i.

fWy1P.gif

 

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.