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ăspunsuri la întrebare
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