Se dă un șir cu n elemente întregi și un număr p. Să se șteargă din șir elementul aflat pe poziția p. Programul va citi de la tastatură două valori n p, cu semnificația precizată, apoi n numere întregi reprezentând elementele șirului. Programul va afișa pe ecran n-1 valori întregi, separate printr-un spațiu, reprezentând elementele șirului după ștergere. Indicii se considera de la 1 la n. Va roooog!!! E urgent!

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

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

   cout << "n = ";

   cin >> n;

   cout << "p = ";

   cin >> p;

   for( i = 1 ; i <= n; i++ )

   {

       cout<<"v [ "<<i<<" ] = ";

       cin>>v[i];

   }

   

   for( i = p ; i <= n; i++ )

       v[i] = v[i+1];

   n--;

   for(i = 1; i <= n ; i++ )

       cout<<v[i]<<" ";

}

Explicație:

"p" reprezinta pozitia elementului de la care trebuie sa pleci cu parcurgerea elementelor pentru a putea copia peste acel numar, restul elementelor ramase.

Automat daca stergi un numar din vector, numarul de elemente scade cu o unitate.

Exemplu:

n = 5

p = 2

vectorul este: 1 7 3 2 9

Inseamna ca la pozitia numarul 2 vrem sa stergem elementul 7. Ca sa facem asta vom copia restul de elemente ramase, adica [ 3 2 9 ] si scadem n cu o unitate. Rezultatul va fi: v[] = 1 3 2 9