Răspuns :
#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 )
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!