Stergerea simpla
Se citeşte de la tastatură vectorul v cu n elemente numere întregi. Să se elimine din vectorul v al k-lea element. (exp: n=5,k=3 v= 1 2 3 4 5 , => v= 1 2 4 5 )
Date de intrare : n = numărul de elemente a vectorului v v[0],v[1],…,v[n-1] = elementele vectorului a k = al câtelea element din vectorul a va fi şters Date intermediare : i = contor. Date de iesire : v[0],v[1],…,v[n-2] = vectorul a obţinut după ştergerea elementului k. Algoritmul presupune deplasarea elementelor vectorului începând cu elementul k+1, cu o poziţie spre stânga. Lungimea logică a vectorului se va micsora cu un element şi va fi n-1.
PROGRAM C++
#include <iostream>
using namespace std;
int main ()
{int n, v[100], i, k;
//se citesc datele de intrare
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
for (i=0;i<n;i++){
cout<<"v["<<i<<"]="; cin>>v[i];
}
// se deplaseaza elem.vectorului începând cu al k+1 lea element,cu o pozitie spre stânga
for (i=k;i<n;i++)
v[i-1]=v[i];
//se afiseaza rezultatele
cout<<"Elementele vectorului b: ";
for (i=0;i<n-1;i++)
cout<<v[i]<<" ";
return 0;
}
Stergerea multipla
1)Stergerea tuturor elementelor negative
#include <iostream.h>
void main()
{ int v[100],n,i;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
i=1;
while(i<=n)
if(v[i]<0)
{for(j=i+1;j<=n;j++)
v[j-1]=v[j];
n--;
}
else
i++;
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
cout<<endl;
}
Se citeşte de la tastatură vectorul v cu n elemente numere întregi. Să se elimine din vectorul v al k-lea element. (exp: n=5,k=3 v= 1 2 3 4 5 , => v= 1 2 4 5 )
Date de intrare : n = numărul de elemente a vectorului v v[0],v[1],…,v[n-1] = elementele vectorului a k = al câtelea element din vectorul a va fi şters Date intermediare : i = contor. Date de iesire : v[0],v[1],…,v[n-2] = vectorul a obţinut după ştergerea elementului k. Algoritmul presupune deplasarea elementelor vectorului începând cu elementul k+1, cu o poziţie spre stânga. Lungimea logică a vectorului se va micsora cu un element şi va fi n-1.
PROGRAM C++
#include <iostream>
using namespace std;
int main ()
{int n, v[100], i, k;
//se citesc datele de intrare
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
for (i=0;i<n;i++){
cout<<"v["<<i<<"]="; cin>>v[i];
}
// se deplaseaza elem.vectorului începând cu al k+1 lea element,cu o pozitie spre stânga
for (i=k;i<n;i++)
v[i-1]=v[i];
//se afiseaza rezultatele
cout<<"Elementele vectorului b: ";
for (i=0;i<n-1;i++)
cout<<v[i]<<" ";
return 0;
}
Stergerea multipla
1)Stergerea tuturor elementelor negative
#include <iostream.h>
void main()
{ int v[100],n,i;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
i=1;
while(i<=n)
if(v[i]<0)
{for(j=i+1;j<=n;j++)
v[j-1]=v[j];
n--;
}
else
i++;
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
cout<<endl;
}