Cum afli cifra din stanga si cifra din drapta a unei alte cifre in c++
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main()
{
int n, x, a[100],copie, nr=0, i;
cout<<"Numaru este: ";cin>>n;
cout<<"Cauta vecinii cifrei: ";cin>>x;
copie=n;
while(copie!=0)
{
nr=nr+1;
a[nr]=copie%10;
// in vector se v-a memora cifrele numarului, insa invers
// de exemplu daca citesc n=2345, atunci vectorul a[] va fi: 5 4 3 2
copie=copie/10;
}
for(i=nr;i>=1;i--)
if(a[i]==x)
cout<<"Vecinii lui " <<x<<" sunt: "<<a[i+1]<<" "<<a[i-1]<<endl;
}
---------------------------------------------------------------------
Pentru n=2345 se va afisa:
Vecinii lui 4 sunt: 3 5
Pentru n=234538 se va afisa:
Vecinii lui 3 sunt: 2 4
Vecinii lui 3 sunt: 5 8
Efectiv muti cifrele in vector si parcurgi vectorul pana cand gasesti cifra x ( citita )
In problema asta vectorul a este format din cifrele lui n luate de la dreapta la stanga.. de aceea am luat acel for(i=nr;i>=1;i--) pentru a lua elementele de la capat.. adica
pentru n=2345, vectorul a este: 5 4 3 2
Daca pun acel for voi verifica elementele de la dreapta la stanga, adica teoretic vectorul meu, in timpul parcugerii, este: 2 3 4 5 ( TEORETIC )