Deplasări la stânga (eliminări)

Scrieți un program care să elimine toate aparițiile numărului x din vectorul v(v cu n elemente).

#include <iostream>

using namespace std;

int main()
{
    int x,v[101],i,j,n;
    cin>>n;
    for(i=1;i<=n;++i)cin>>v[i];
    cin>>x;
    for(i=1;i<=n;++i)
        if(v[i]==x)
    {
        for(j=i;j<=n-1;++j)v[j]=v[j+1];
        --n;--i;
    }
    for(i=1;i<=n;++i)cout<<v[i]<<" ";
    return 0;
}

Eliminare de cifre în 2 paşi

Eliminarea de cifre se va realiza în 2 paşi cu ajutorul oglinditului. Astfel, când aflăm oglinditul, vom avea condiţia ca cifra să nu aibă o anumită proprietate pentru a nu fi eliminată. Apoi, vom oglindi oglinditul, pentru a obţine numărul cu cifrele în ordinea corectă.

Exemplu: Eliminaţi cifrele pare dintr-un număr n.

Algoritmul în C++

#include

using namespace std;

int main()
 {
 unsigned x,ogl=0,ogl1=0;
 cin>>x;
 while(x!=0)
 {
 if((x%10)%2!=0)ogl=ogl*10+x%10;
 x=x/10;
 }
 while(ogl!=0)
 {
 ogl1=ogl1*10+ogl%10;
 ogl=ogl/10;
 }
 cout<<ogl1;
 return 0;
 }

Scrierea în baza 10(construire de numere sau eliminare de cifre)

În scrierea în baza 10 va exista o variabilă iniţializată cu 1 care se va înmulţi cu 10 în timpul structurii repetitive pentru a construi numere/elimina cifre.

Exemplu: Aflaţi numărul format din cifrele impare ale numărului n.

#include

using namespace std;

int main()
 {
 unsigned n,nr=0,p=1;
 cin>>n;
 while(n!=0)
 {
 if((n%10)%2==1)
 {
 nr=nr+p*(n%10);
 p=p*10;
 }
 n=n/10;
 }
 cout<<nr;
 return 0;
 }

Astfel, putem spune fie că am eliminat cifrele pare ale lui n, fie că am construit un număr cu cifrele impare ale lui n.

Oglindit. Palindrom. Eliminare de cifre în 2 paşi.

1.Oglinditul unui număr este un număr care conţine toate cifrele acelui număr în aceeaşi ordine, însă de la dreapta la stânga. De exemplu, oglinditul lui 178 este 871. El se obţine astfel:

Algoritmul în C++

#include

using namespace std;

int main()
{
unsigned x,ogl=0;
cin>>x;
while(x!=0)
{
ogl=ogl*10+x%10;
x=x/10;
}
cout<<ogl;
return 0;
}

2.Un palindrom este un număr egal cu oglinditul său. De exemplu, numărul 54345 are oglinditul 54345, cu care este egal, deci este un palindrom. Pentru a verifica dacă un număr este palindrom se va afla oglinditul, după care se va compara cu numărul iniţial.

Algoritmul în C++

#include

using namespace std;

int main()
{
unsigned x,ogl=0,x1;
cin>>x;
x1=x;
while(x1!=0)
{
ogl=ogl*10+x1%10;
x1=x1/10;
}
if(x==ogl)cout<<"Numarul este un palindrom";
else cout<<"Numarul nu este un palindrom";
return 0;
}

3.Eliminarea de cifre se va realiza în 2 paşi cu ajutorul oglinditului. Astfel, când aflăm oglinditul, vom avea condiţia ca cifra să nu aibă o anumită proprietate pentru a nu fi eliminată. Apoi, vom oglindi oglinditul, pentru a obţine numărul cu cifrele în ordinea corectă.

Exemplu: Eliminaţi cifrele pare dintr-un număr n.

Algoritmul în C++

#include

using namespace std;

int main()
{
unsigned x,ogl=0,ogl1=0;
cin>>x;
while(x!=0)
{
if((x%10)%2!=0)ogl=ogl*10+x%10;
x=x/10;
}
while(ogl!=0)
{
ogl1=ogl1*10+ogl%10;
ogl=ogl/10;
}
cout<<ogl1;
return 0;
}