Inserarea unui element într-un vector

Lecție despre cum să inserezi un element pe o anumită poziție într-un vector în C++.

În această lecție, vom învăța cum să inserăm un element pe o poziție specificată dintr-un vector utilizând C++.

Cerința problemei

Se citește de la tastatură un vector v de n elemente, un element x și poziția p. Inserează elementul x pe poziția p în vector.

Exemplu de intrare și ieșire:

Intrare:
n = 5, v = [3, 5, 2, 7, 1], x = 9, p = 3

Ieșire:
3 5 9 2 7 1


Explicația algoritmului

  1. Validarea poziției: Verificăm dacă p este în limitele vectorului.
  2. Mutarea elementelor: Elementele de la poziția p spre final sunt mutate cu o poziție spre dreapta.
  3. Inserarea: Elementul x este plasat pe poziția p.
  4. Afișarea rezultatului.

Codul sursă în C++:

#include <iostream>
using namespace std;

int n, x, p, v[100];

int main() {
    // Citirea datelor
    cout << "Introduceti dimensiunea vectorului n: ";
    cin >> n;

    cout << "Introduceti elementele vectorului: ";
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }

    cout << "Introduceti elementul de inserat x: ";
    cin >> x;

    cout << "Introduceti pozitia p unde doriti sa inserati elementul: ";
    cin >> p;

    // Validăm poziția
    if (p < 0 || p > n) {
        cout << "Pozitie invalida!" << endl;
        return 1;
    }

    // Mutăm elementele spre dreapta
    for (int i = n; i > p; i--) {
        v[i] = v[i - 1];
    }

    // Inserăm elementul pe poziția p
    v[p] = x;
    n++; // Creștem dimensiunea vectorului

    // Afișăm vectorul rezultat
    cout << "Vectorul rezultat este: ";
    for (int i = 0; i < n; i++) {
        cout << v[i] << " ";
    }
    cout << endl;

    return 0;
}