Se citeşte un număr natural n şi apoi un şir de n numere întregi. Afişaţi mediile aritmetice ale tripletelor de numere pozitive introduse consecutiv. Scrieţi câte o variantă de program pentru fiecare structură repetitivă implementată în limbajul C++. Precizaţi expresiile şi instrucţiunile folosite pentru cele trei acţiuni ale procesului de control. 4

  1. Programul folosind structura repetitivă while:

#include <iostream>

using namespace std;

int main() {

    int n;

    cout << „Introduceti numarul de elemente din sir: „;

    cin >> n;

    int a[n];

    for (int i = 0; i < n; i++) {

        cout << „a[” << i << „] = „;

        cin >> a[i];

    }

    int i = 0;

    double media;

    while (i < n – 2) {

        if (a[i] > 0 && a[i + 1] > 0 && a[i + 2] > 0) {

            media = (a[i] + a[i + 1] + a[i + 2]) / 3.0;

            cout << „Media elementelor ” << a[i] << „, ” << a[i + 1] << „, ” << a[i + 2] << ” este ” << media << endl;

        }

        i++;

    }

    return 0;

}

  • Programul folosind structura repetitivă do-while:

#include <iostream>

using namespace std;

int main() {

    int n;

    cout << „Introduceti numarul de elemente din sir: „;

    cin >> n;

    int a[n];

    for (int i = 0; i < n; i++) {

        cout << „a[” << i << „] = „;

        cin >> a[i];

    }

    int i = 0;

    double media;

    do {

        if (a[i] > 0 && a[i + 1] > 0 && a[i + 2] > 0) {

            media = (a[i] + a[i + 1] + a[i + 2]) / 3.0;

            cout << „Media elementelor ” << a[i] << „, ” << a[i + 1] << „, ” << a[i + 2] << ” este ” << media << endl;

        }

        i++;

    } while (i < n – 2);

    return 0;

}

  • Programul folosind structura repetitivă for:

#include <iostream>

using namespace std;

int main() {

    int n;

    cout << „Introduceti numarul de elemente din sir: „;

    cin >> n;

    int a[n];

    for (int i = 0; i < n; i++) {

        cout << „a[” << i << „] = „;

        cin >> a[i];

    }

    double media;

    for (int i = 0; i < n – 2; i++) {

        if (a[i] > 0 && a[i + 1] > 0 && a[i + 2] > 0) {

            media = (a[i] + a[i + 1] + a[i + 2]) / 3.0;

            cout << „Media elementelor ” << a[i] << „, ” << a[i + 1] << „, ” << a[i + 2] << ” este ” << media << endl;

        }

    }

    return 0;

}

Pentru a rezolva problema se poate folosi o structură repetitivă (for, while sau do-while) pentru a parcurge șirul de numere introduse. În fiecare iterație se va verifica dacă există o tripletă consecutivă de numere pozitive, se vor aduna aceste numere și se va calcula media aritmetică.

Pentru verificarea existenței unei triplette consecutivă de numere pozitive se pot folosi variabilele curente care rețin valorile ultimelor două numere introduse, precum și o variabilă auxiliară care reține numărul de numere pozitive consecutive.

Expresiile și instrucțiunile utilizate în procesul de control includ:

  • citirea numărului n
  • citirea n numere întregi
  • inițializarea variabilelor pentru a verifica existența tripletelor de numere pozitive consecutive
  • parcurgerea șirului de numere introduse cu o structură repetitivă (for, while sau do-while)
  • verificarea existenței unei triplette consecutive de numere pozitive și calcularea mediei aritmetice
  • afișarea rezultatului.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *