Inserarea/stergerea unui element



Inserarea la inceput

#include <iostream>

using namespace std;

int main()
{
   int n, v[11];
   cin>>n;
   for(int i=1;i<=n;i++)
      cin>>v[i];
   int valoare;
   cout<<"ce valoare vrei sa inserezi la inceput? ";
   cin>>valoare;
   for(int i=n+1;i>=2;i--)
      v[i]=v[i-1];
   v[1]=valoare;
   n++; //nr de elemente a crescut
   for(int i=1;i<=n;i++)
      cout<<v[i]<<' ';
}

Explicatie:

- citim elementele
- citim valoarea pe care dorim sa o adaugam la inceput
- vom muta toate elementele de la stanga la dreapta cu o pozitie, cu un for de la n+1 la 2
- dupa ce le-am mutat putem sa-i dam primului element valoarea pe care am vrut sa o inseram la inceput




Inserarea la final

#include <iostream>

using namespace std;

int main()
{
   int n, v[11];
   cin>>n;
   for(int i=1;i<=n;i++)
      cin>>v[i];
   int valoare;
   cout<<"ce valoare vrei sa inserezi la inceput? ";
   cin>>valoare;
   n++; //nr de elemente a crescut
   v[n]=valoare;
   for(int i=1;i<=n;i++)
      cout<<v[i]<<' ';
}

Explicatie:

- citim elementele
- vom creste numarul de elemente si adaugam pe ultima pozitie valoarea dorita




Inserarea la o anumita pozitie

#include <iostream>

using namespace std;

int main()
{
   int n, v[11];
   cin>>n;
   for(int i=1;i<=n;i++)
      cin>>v[i];
   int valoare, pozitie;
   cout<<"ce valoare vrei sa inserezi la inceput? ";
   cin>>valoare;
   cout<<"pe ce pozitie? ";
   cin>>pozitie;
   n++; //nr de elemente a crescut
   for(int i=n;i>=pozitie;i--)
      v[i]=v[i-1];
   v[pozitie]=valoare;
   for(int i=1;i<=n;i++)
      cout<<v[i]<<' ';
}

Explicatie:

- citim elementele
- citim valoarea pe care dorim sa o adaugam la inceput, precum si pozitia pe care vrem sa inseram acea valoare
- mutam elementele de la pozitie spre dreapta cu o pozitie
- dupa ce le-am mutat vom adauga valoarea pe pozitia dorita




Stergerea unui element de pe o anumita pozitie

#include <iostream>

using namespace std;

int main()
{
   int n, v[11];
   cin>>n;
   for(int i=1;i<=n;i++)
      cin>>v[i];
   int pozitie;
   cout<<"ce pozitie vreti sa stergeti? ";
   cin>>pozitie;
   n--; //numarul de elemente scade
   for(int i=pozitie;i<=n;i++)
      v[i]=v[i+1];
   for(int i=1;i<=n;i++)
      cout<<v[i]<<' ';
}

Explicatie:

- citim elementele
- citim pozitia pe care dorim sa o stergem
- vom muta elementele de la final spre pozitia pe care dorim sa o eliminam cu cate o pozitie spre stanga


TEMA: realizati un algoritm care sterge elementul de pe prima pozitie