Ajutor ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎ ︎
Răspunsuri la întrebare
Răspuns:
Instrucțiunile repetitive sunt niște instrucțiuni cu ajutorul cărora putem repeta anumite valori, până când este îndeplinită sau nu o condiție. Orice structură repetitivă trebuie să conțină cel puțin o condiție de oprire, pentru că altfel ciclul va merge la infinit.
Instrucțiunile repetitive sunt: for (instrucțiunea cu contor), while (instrucțiunea cu test inițial și pas final), do... while (instrucțiunea cu test final și pas inițial).
Structura for are următoarea sintaxă:
for(expresie de inițializare; expresie de continuare; expresie de reinițializare)
Pentru a rezolva o problemă în care apare structura for, trebuie să știm ce sunt acele expresii (de inițializare, continuare și reinițializare). Practic, o expresie este formată din variabile, constante, operanzi și operatori. De exemplu, x=1, x*=4, x++. Expresia de inițializare reprezintă valoarea inițială a variabilei contor, adică ea trebuie să "știe" de unde să înceapă. Să zicem că vrem să afișăm pe ecran elementele intervalului [a, b] în ordine crescătoare. Putem inițializa i (poate fi orice variabilă) cu primul element, adică cu a, deci i=a, contorul începe de la a.
Expresia de continuare este condiția până când se continuă contorul. În cazul exemplului de mai sus, ea ar fi i<=b, pentru că, dacă i ar fi mai mare decât b, atunci numerele alea nu ar mai aparține acestui interval.
Expresia de reinițializare reprezintă valoarea cu care trebuie să reinițializăm variabila i, astfel încât ea să poată trece mai departe.
Asemănător este și în cazul celorlalte două structuri, cu deosebirea că while verifică mai întâi condiția și apoi execută instrucțiunile, iar do... while execută insctrucțiunile și apoi verifică condiția.
1)
// factorialul unui nr
int main()
{
int i, n, f=1;
cin >> n;
for(i=1; i<=n; i++)
f*=i;
cout << f;
}
2)
// suma primelor n cifre
int main()
{
int n, i, s=0;
cin >> n;
for(i=1; i<=n; i++)
s+=i;
cout << s;
}
3)
// suma divizorilor numărului n
int main()
{
int n, div=0, i;
cin >> n;
for(i=2; i<=n; i++)
if(n%i==0) div+=i;
cout << div;
}
4)
// citirea și afișarea unei matrici
int main()
{
int n, m, i, j, a[100][100];
cin >> n>>m;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
cin >> a[i][j];
for(i=0; i<n; i++)
for(j=0; j<m; j++)
cout << a[i][j] << " ";
cout << "\n";
}